Hikari Email & URL Obfuscator
Spam is website publishers #1 concern, we wanna share our and our visitors' emails to those who should have access to them, but don't want spam harvesters stealing them and sending garbage to us. A lot of techniques had been developed to hide our emails from these delinquents, while having them shown to real people.
And together with spam harvesting, on 15 June 2009, Matt Cutts, a well known software engineer of Google, announced that Google Bot will no longer ignore nofollowed links for PageRank
(http://www NULL.mattcutts NULL.com/blog/pagerank-sculpting/), and now we lose PR/link juice for every link we add to our pages, even if we use rel="nofollow" on them. So, now we must hide links from Search Engines too!
I've been searching for an ultimate obfuscation solution for both emails and URLs, that would be user-friendly for me the content publisher, and for my visitors. I've seen a lot of solutions, some that inspired me, but none that would fit my needs. It was time to start coding
- Summary
- Introduction
- Features
- Advantages over other obfuscation solutions
- How does it work in practice?
- Download
- Donate
- Installation
- Upgrading and Uninstalling
- Support and Requests
- Frequently Asked Questions
- Versions
- To-do stuff
- Thanks
- Related Posts
- Comments (52)
Introduction
Hikari Email & URL Obfuscator plugin obfuscates emails and normal links, to hide them from spam harvesters and Search Endigne crawlers. It uses ROT13 or cc8b to encode each link while PHP is building the page, then uses JavaScript to decode it and show it to the user. If JavaScript is not available, it uses CSS to hide them.
It doesn't use shortcodes, it works directly over HTML links, parsing and obfuscating them. By default it filters all texts in posts, comments, comments authors and text widgets, but you can manually use it anywhere you want.
Basically, the plugin searches for links that contain URLs and emails on their href
atrribute. For each found link, it is replaced by an obfuscated string, and a JavaScript function is called, having in its parameters the required data for JavaScript to decode and recreate the original link.
The obfuscated string is then merged back by CSS to a readable URL/email text, so that human visitors can read it while spam harvesters and searchbots will not be able to detect it as a valid email/URL.
And, for JavaScript-enabled visitors, this string is replaced by a link with the exact same behavior and attributes of your original link, so that they can interact with it as if there was no obfuscation in place!
(Really, there is no way to diferenciate an obfuscated link generated by JavaScript from the original link, unless the HTML document' source is verified or a development tool as FireBug is used!)
Features
- Works instantly, no need to edit your posts to have your links obfuscated: Hikari Email & URL Obfuscator plugin automatically detects them and starts obfuscating as soon as it is activated.
- Unobstructive JavaScript: links are obfuscated and shown for visitors with and without JavaScript, forget those "you must enabled javascript to see this email" messages!
- They are real links!: any attribute you can use in an
<a></a>
tag you also can use in obfuscated links (JavaScript version only). - Customization: CSS doesn't let we have real links, but we can at least choose if our obfuscated text will have email only, text only, or both!
- XHTML 1.1 valid: obfuscated links and JavaScript code are valid even in XHTML 1.1 standard. It makes the plugin valid inclusive in HTML 4.0, XHTML 1.0 Strict, XHTML 1.0 Transitional and HTML5!
Advantages over other obfuscation solutions
- Your visitors will see your emails and URLs even if they keep JavaScript disabled.
- Automatic: you don't need to take special actions to start obfuscating, as using shortcodes in place of links or an external tool to get your obfuscation code. Just normally use your links in your posts and let the plugin do the rest!
- Sitewide: instantly works in your existing posts, pages, comments and text widgets, just after you activate it.
- Diversity: for each link, it randomly chooses between 2 CSS and 2 JavaScript obfuscation methods, making it harder for spammers to crack it.
- Extensible: you can call it manually, and add it to other plugins and themes filters.
- Customizable: use custom parameters to force or avoid specific links from being obfuscated, and to define how non-JavaScript obfuscation will behave.
How does it work in practice?
It uses 4 obfuscation techniques, 2 JavaScript solutions and 2 CSS alternatives for JavaScript-disabled browsers.
For CSS, it may revert the link string while PHP is building the page and then CSS reverts it back. Or it may add garbage text between the link, and CSS prevents this extra text from being rendered, so any user-agent that doesn't use CSS can't find the link but browsers show it clearly.
Now, when JavaScript is available, it is delivered with the original link, encoded using ROT13 or cc8b by PHP. The link is then decoded back by JavaScript and added to the page, so that real users don't even notice the original link was replaced.
And, disregarding the used technique, we content publishers must do nothing different while building our content, just activate the plugin and it does everything else for us :)
For an exemple, let's say you have in your site a link as <a href="mailto:no.spam@spam.com" title="c'mon mail me!" target="_blank" class="stylish-class">mail me</a>
, which leads to mail me (no NULL.spam null@null spam NULL.com).
See how it looks like a normal link when it is de-obfuscated by JavaScript. Now disable JavaScript and reload the page.
It is obfuscated while Wordpress is building the page, using Wordpress hook system. Everybody (real browsers, spam harvesters and spam crawlers) will receive an obfuscated string: <span id="hkmuob-id-1928" class="hkmuob_noscript">mail me (no<span class="HkMuob_display"> NULL</span>.spam<span class="HkMuob_display"> null</span>@<span class="HkMuob_display">null </span>spam<span class="HkMuob_display"> NULL</span>.com)</span>
, which is pretty much unreadable and looks like anything but a link.
For users without JavaScript or that simply don't wanna enable it on your site, thanks to CSS they'll see in the screen a text like mail me (no.spam@spam.com)
. It's not clickable, and Copy & Paste doesn't work properly, but it is readable and they can understand what you meant and see the original email/URL.
But, when users have JavaScript enabled (more than 90% of our real visitors), thet will see the obfuscated link exactally as it was originally, a clickable link with all its original attributes, the tooltip title and "_blank" behavior!
License
© Copyright Hikari (http://wordpress.Hikari.ws), 2010
If you want to redistribute this software, please leave a link to this post together with it and mention me as its author
Parts of this code are provided or based on ideas and/or code written by others
Important contributors to this plugin (listed in alphabetical order):
- Debugged Interactive Designs (http://www NULL.debuggeddesigns NULL.com/open-source-projects/mailto)
- Scott Yang (http://scott NULL.yang NULL.id NULL.au/file/js/rot13 NULL.js)
- Silvan Mühlemann (http://techblog NULL.tilllate NULL.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/)
If you want to extend the plugin features, please contact me so I can add your work to my official release.
Download
You can follow Hikari Email & URL Obfuscator updates and older versions at Wordpress.org Plugin Directory (http://wordpress NULL.org/extend/plugins/hikari-email-url-obfuscator/), or you can get the last version from the direct link hikari-email-url-obfuscator.zip (http://downloads NULL.wordpress NULL.org/plugin/hikari-email-url-obfuscator NULL.zip).
Donate
There are also several ways you can show your appreciation:
- blogging about it
- linking it from your site (without using rel=nofollow, and of course not obfuscating the link )
- browsing the site sidebars
- suggesting it to your friends
- visiting other posts thru the site and adding valuable comments
- saying thanks on comments
- offering codes that add new features
- etc, use your imagination
Installation
Hikari Email & URL Obfuscator requires at least Wordpress 2.8 and PHP5 to work.
You can use the built in installer and upgrader, or you can install the plugin manually.
- Download the zip file, upload it to your server and extract all its content to your
/wp-content/plugins
folder. Make sure the plugin has its own folder (for exemple/wp-content/plugins/hikari-email-url-obfuscator/
). - Activate the plugin through the 'Plugins' menu in WordPress admin page.
- That's it! Go back to your home page and see how your old links are with JavaScript enabled and disabled
- Go to options page if you wanna add whitelist and blacklist and do some deeper configs.
Upgrading and Uninstalling
I consider very ambiguous the way some plugins should be upgraded and the proper way of uninstalling them, so I believe I should explicitly explain it for my plugins.
I've made an article just to explain in full details which options we have to upgrade and uninstall our plugins and what happens with each option, and how it works with my plugins: Uninstalling my plugins.
For upgrading, simply delete it and follow installation setps again.
Support & Requests
If you want to request any new feature, leave a comment on this post explaining it with as many details as possible. I can't assure it will be added, but if it is viable, I like it AND have the time, I'll do my best.
If something seems to not be working and you need help, first read the FAQ and then leave a comment explaining what's happening. If you need to post a picture, please link it instead of using an img tag.
If any link is creating a bug, please add a comment with an exemple code that I could use in a testing post and generates the bug. Soon I'm gonna post articles with a guideline to use codes in comments and with advanced parameters.
FAQ
-
Don't I really need to change anything in my links for them to be obfuscated?
No, you don't. Hikari Email & URL Obfuscator plugin uses Wordpress hooks to filter links on the fly, it automatically finds all your links and obfuscate them for you, directly in your posts / comments / text widgets.
-
Does your plugin change ANYTHING in my content stored in database?
This is a dilemma I always have with plugins that I install, and I feel in need to explicitly explaining it.
No, Hikari Email & URL Obfuscator plugin does NOT touch your content database! Its filter runs in read time, AFTER your content is queried from database and before it is sent to your visitor. Your original content and your original links will remain untouched, and as soon as you deactivate the plugin your site will go back to what it was before it ever knew the plugin existed.
-
Is there any way to customize the plugin default behavior?
Yes, it has custom parameters that are used as CSS classes, in the same way some microformats do. You can see a list of them, with description and exemples at Hikari Email & URL Obfuscator – Advanced Usage.
-
Is there any way to block it from obfuscating one of my links?
Yes, in the previous question I mensioned custom parameters.
One of them is hkmuob_no_obfuscate, and when used the link won't be obfuscated.
-
Are my internal links obfuscated too?
No, links with your website URL and relative links (without http://) are not obfuscated.
-
How can I obfuscate stuff out of post / comment / text widget areas?
If you wanna obfuscate emails and URLs that are out of these areas (in the theme templates or in another plugin for exemple), it's pretty easy.
First you prepare the content and store it in a string variable normally, let's say it is in
$footerContent
. Once you have the string, you verify if the plugin is activated by testing if its classHkMuob
exists, and if so you grab it's object$hkMuob
and call the method$hkMuob->filter($footerContent)
. It will return a string variable with your content already obfuscated and ready to be echoed. Attention! You must use the global object the plugin creates, because it has internal variabled that will be used in the page footer to interact with JavaScript, if you create another object it will not work! Here's a full exemple:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23<?php
// first we repare our content with anything we want, and store it in a variable
$footerContent = "I'm a neat content with links inside." .
' <a href="mailto:no.spam@spam.com" title="c\'mon mail me!" target="_blank" class="stylish-class">mail me</a>';
// if the class exists, then the plugin is availabe and we can use it to obfuscate any content
// if not, then we just echo the original content without obfuscating
if(class_exists('HkMuob')){
// class is available, let's get its global variable
global $hkMuob;
// now we ask the plugin to filter our content and add any found link to plugin's internal queue
$footerContent = $hkMuob->filter($footerContent);
// now $footerContent has the same content as before, but with obfuscated links
}
// whether or not we were able to obfuscate our links, let's print our neat content
echo $footerContent;
?> -
Help! My link has a small text and large URL, and now it is breaking my layout when JavaScript is disabled!
Oh man, it can happen for links with small texts in small places.
Fortunately, there are a bunch of custom parameters that can help you tune up your links when JavaScript is disabled. Just take a look on the link referenced in previous questions and read about these custom parameters, you'll be able to do some interesting stuff with them
Cangelog
- 0.08 - 13/10/2010
- Fixed styling incompatibility with Sociable plugin
- Fixed
wp_enqueue_style()
not providing media parameter - Fixed adding JS code to wp_footer, now properly using
wp_print_scripts()
- Added support for PHP Code Widget plugin's filter
- 0.07 - 13/03/2010
- New: Finally an options page!
- Options page made the plugin incompatible with Wordpress 2.7, now it requires 2.8 to work.
- New: Whitelist and Blacklist, to list URLs and emails to not be obfuscated (Whitelist) and to be forced to (Blacklist).
- New: Also added options related to the position of JavaScript calls for de-obfuscation , and how these calls should be marked up.
- New: Options page also has a proper uninstall feature, which deletes all data the plugin had added to database and also can be used to reset options to default.
- New: If you want a whole block of content (a post, a comment, a text widget, etc) to be skipped from having its links obfuscated, just add to it a comment
<!-- HkMuob NO OBFUSCATE -->
. - Further tests for XHTML valid code, now I hope I can assure it :)
- 0.06 - 21/02/2010
- Fix: plugin CSS is no longer being added to Admin Pages.
- Fix: JavaScript decoding code is back to header, instead of footer.
- New: added option for JavaScript call be done just after the link it decodes, I belive having those calls spreaded across the page is harder for spam bots to crack than having all of them inside a unique
<script></script>
at the footer... but Wordpress breaks XHTML validation, gg. - Fix: ilter's priority to surpass raw-html plugin filter.
- 0.05 - 01/02/2010
- Fix: now plugin's js is added only when there are links to be obfuscated.
- Fix: now plugin folder name is not hardcoded anymore, we can use any folder name we want.
- 0.04 - 30/01/2010
- First public release.
Known bugs
- CSS reversion is generating invalid XHTML code. Ampersand
&
HTML codes are reverted and XHTML validator points invalid codes. I have no idea how to bypass it, so CSS reversion is disabled and not being used ATM. - For plugins that add links to post content, text widgets or comments, these links may be obfuscated and break layout without a way to fix it. I'm gonna investigate it and see what can be done.
- Accents in title attributes get broken and replaced for strange characters. I'm gonna test it and develop a function to convert accented chars into HTML codes that are more secure.
To-do stuff
Now that's a huge items list , and I'm gonna implement each and every of them!
Add the plugin to Wordpress repository and build this plugin page.Checked!- Build an
Advanced usageand an Exemples pages for the plugin. - Implement a filter that detects emails and URLs that are not inside links, and obfuscate them.
- Implement different default behaviors for different page areas (post, sidebars, comments). That's because sidebars content normally don't have much space, and extra text for showing URL/email to non-JavaScript visitors may breaks the layout.
Implement blacklist and whitelist, so that we can add emails and URLs to not be obfuscated, or to force obfuscating specific internal links.Develop an admin page to customize all default settings.
Thanks
Thanks to everybody who developed all known email obfuscation solutions. Spam is a threat that I don't see becoming ilegal in the near future, and we must have granted our right of sharing our emails to friends without being spammed and flooded by those criminals.
Thanks to Wordpress developers and contributors for maintaining this great system, that is powerful and nicely simple at the same place. I'm loving to develop to it!
Thanks to Google for its Search Engine, but I'd rather be allowed to use links in my sites without PageRank loss worries .
And of course thanks to all of you that use my plugins, come to my sites and take something useful from it .
I dedicate Hikari Email & URL Obfuscator to Ju, my beloved frient ^-^
Popularity: 59%
- cc8b
- comment
- copyright
- crawler
- Creative Commons
- CSS
- decode
- encode
- exemple
- filter
- FireBug
- Google Bot
- harvester
- hkmuob
- HTML 4.0
- HTML5
- JavaScript
- link
- link juice
- mailto
- Matt Cutts
- nofollow
- noscript
- obfuscate
- Page Rank
- plugin
- ROT13
- search bot
- Search Engine
- spam
- spambot
- unobstructive JavaScript
- widget
- Wordpress
- XHTML 1.0 Strict
- XHTML 1.0 Transitional
- XHTML 1.1
It has accumulated a total of 238,311 views. You can follow any comments to this article through the Comments RSS 2.0 Feed. You can leave a comment, or trackback from your own site.
Related Posts:
- Hikari Email & URL Obfuscator - JavaScript markup
- Hikari Email & URL Obfuscator - Advanced Usage
- Wordpress
- Hikari Internal Links - Exemples
- Hikari Internal Links
- Hikari Unicornified Gravatars
- How to hide sidebars on a Wordpress theme
- Hikari Titled Comments
- Wordpress Large post showing blank / empty?! NO WAY!!
- Hikari Krumo
-
Comentando vc contribui e participa na criação do conteúdo do site.
Contribua. Commente. :)(Os comentários abaixo representam a opinião dos visitantes, o autor do site não se responsabiliza por quaisquer consequências e/ou danos que eles venham a provocar.)
Great plugin, but.. I noticed that it interferes with the Sociable plugin.
All the sociable icons are on a seperate line, instead of the same line, when I activate the Obfuscator.
Any ideas or solutions?marketing
participate
Hello!
I don’t know this plugin, I’m gonna take a look and see what’s happening.
I suppose it’s added inside
the_content()
, and its HTML gets broken. I’ll report back when I have more info, tnx for the incompatibility report ^^research
Really sorry for the long delay.
It was a "bug" in Sociable plugin, it has a style that sets internal span as block. Since my plugin adds a span around links, they were blocking its layout.
Version 0.08 adds a new style that forces spans to be inline again :)
information
informationI just downloaded and installed the plugin. When I try to activate it I get this error…
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in /homepages/27/d222991245/htdocs/SigmaPiNW/wp-content/plugins/hikari-email-url-obfuscator/hikariobfuscator.php on line 52
Any help?
PHP4 not supported!
marketing
Hello IAN.
In line 52 of plugin’s version 0.05.01, we have the following:
51
52
53
private $links;
private $ids;
It seems PHP didn’t like the keyword ‘private’. I’ve searched for this error and found http://www.computing.net/answers/webdevel/php-class-variables/2417.html (http://www NULL.computing NULL.net/answers/webdevel/php-class-variables/2417 NULL.html).
My guess is that your hosting server is still running PHP4, which doesn’t support classes and private scope.
My apologizes for that, I’m gonna include the restriction that the plugin requires PHP5 to work.
Thanks for the note
informationUpgraded to PHP5 and no more issues. Thanks!
feedback
Great to hear that! I’m updating the plugin readme.txt and this article and will include it requires PHP5 to work.
Tnx for reporting the issue
research
homepageI’m starting to get a lot of spam on my site. I was looking for a solution. Seems like this plugin will take care of it. Will give it shot.
Thanks.
C.participate
homepage
Thanks dude ^^
I’ve been using the plugin and it’s very good, much better than any other solution I’ve seen. I love low it works automatically and transparently.
I’m just updating this post with info about the last version and I’m gonna start improving it a bit more.
homepage
Thanks,
I took the url field out of the comment box since they spammers are just going crazy. So now I will try to install this see how it works.
Thans aagin.
Full protection against spam
research
I understand, I’ve seen some people do the same
Hikari Email & URL Obfuscator will help you to not link an eventual spammer that may pass your spam protections, because any link they use in comment body or author will be obfuscated. And it also saves your site from giving emails to spam harvesters.
But it won’t stop spammers from coming and trying to post comments. Indeed, after I published my plugin and started receiving more visitors, spam comments also growed.
You must be careful because spammers are smart. They usually submit comments with no links, to try to crack our defenses, and then come back see if the comment was accepted. When it happens, they see that site’s protection is not so powerful, and start sending more comments trying to break it. It’s very important that we don’t let any spam pass.
This plugin is meant to protect emails from harvesters and links from search engine crawlers (for when we wanna link a site but are against its content and don’t wanna give PageRank to it, equivalent of rev="vote-against", or when we have a link we can’t say what’s in it, equivalent to rel="nofollow"). It’s for not feeding spammers and as an efficient PageRank defense, it’s not meant to stop comment spammers from trying to hijack our sites.
Hikari Email & URL Obfuscator can help you as the last protection when everything else fails, but for your need I suggest also using plugins that specifically block spam comments. I don’t like these capcha we see around, because I believe real visitors shouldn’t be punished because of spammers, but I suggest you using Askimet (http://akismet NULL.com/) and AVH First Defense Against Spam (http://blog NULL.avirtualhome NULL.com/wordpress-plugins), together with Project Honey Pot (https://www NULL.projecthoneypot NULL.org/search_ip NULL.php) and Stop Forum Spam (http://www NULL.stopforumspam NULL.com/search). These 2 plugins will block most spam comments from being submited and mark the rest as spam for later review, and these 2 services have databases of previously seen spammers, that we can cooperatively help maintain and use to block spammers from even viewing our pages.
I believe with these 3 plugins and 2 services you can be pretty much protected
Can certain links be excluded?
participateCan you apply this only to CERTAIN links? Or can you apply it globally, but then manually DISABLE it for some links?
I have several outgoing links that I don’t want obscured, because I do want to give them a page rank.
hkmuob_no_obfuscate class
Sure, to disable obfuscation on specific links, use the hkmuob_no_obfuscate class on them. ^-^
You can see its description at Hikari Email & URL Obfuscator – Advanced Usage, all other custom parameters are explained there too.
feedbackNon vim falar nada sobre o site… so que amo meu fofo!Hunf.. u.umarketing
ju!!!!!!!! *-*
feedbackPrufa prufa prufamarketing
Obfuscation of link target
Awesome work, this looks like one of the best email obfuscator plugins on wordpress right now. However, is it just me, or does it not obfuscate the target of a mailto link? I would like to write:
But it doesn’t seem to obfuscate the target.participate
hkmuob_obfuscate_content
The target, or the content as I called it, can’t be obfuscated as default because if there is a HTML tag (exemple, a link whose content is an image) in it, the tag may get broken in noscript obfuscation version :)
Use hkmuob_obfuscate_content custom parameter to set content to be obfuscated too. Read its description in the refered link to better understand how it works and why it exists, any question just leave a comment there :)
research
informationhello hikari!
It seems to be a very nice plug!
The only thing I worry about is how to handle the SEO and the marketing.
could this hamper the SEO-positions in any way?
how should one treat exchange-links, affiliatelinks, linkpages and other links that is of value for the site?
general thoughts on this…?
regards
minformation
SEO
hey Mike
Since links are obfuscated, with Hikari Email & URL Obfuscator we can add links to our posts freely, without fearing lose link juice because of that. I’ve been loving this power to control what Search Engines for real can see and what should really be nofollowed.
For links you want crawlers to detect, just use hkmuob_no_obfuscate custom parameter, and it won’t be obfuscated.
In my top-right widget you can see a few links, and links to my other sites aren’t obfuscated.
marketing
Whoa...
…I've been unwittingly running this plugin for a while now to obscure email addresses, but didn't realize it was obfuscating my web links as well (just not paying enough attention). Rather than go through my thousands of posts and adding the "no obfuscate" parameter, is there somehow to tell the plugin to only address mailto: links and not web links?
Thanks! Seems to be working great for my emails, I'm just very upset that my site has basically appeared "linkless" to the search engines for the past six months…
obfuscation toggling
information
hmm good point noted by you. I developed the plugin with the thought of "obfuscate all URLs at once and then don’t obfuscate selectively", since I wanted them all obfuscated in my site because I had no control over links on my old posts and now I can control them in new ones. I didn’t think on people that would be controlling their links already.
I’m gonna review code and create an option to toggle URL and email obfuscation on/off, separately. I just can’t assure it will be ready soon because I’ve not been having time to work on my plugins, but I’ll do it.
For know, I remember you that links to local pages (using
siteurl
andhome
options) and relative links (without http :// ) aren’t obfuscated, so links from your site to your site are visible to search engines as usual.And in its options page you have a whitelist option. In case you have specific external URLs you want search engines to see, just add them (or their domains) to whitelist and they won’t be obfuscated anymore.
If you have any better idea of how to implement enabling and disabling email and URL obfuscation other than 2 checkboxes, feel free to suggest how you’d like it done :)
Tnx for using it ^^
Thanks...
feedback
…for the quick reply!
I'm sorry, I think maybe I don't understand SEO as well as I should. I was under the impression that having links on your site to other sites was a good thing. (Obviously, having links from your site to your OWN site is a good thing.)
Is there a reason why you wouldn't want any (or even most) links from your site to external sites visible to crawlers?
Don't feel like you have to teach me SEO in a comments thread…I'm just curious! :)
Thanks.
research
homepage
No worries, I thank you for commenting and for using my plugin :)
Internal links are used by Search Engines only to know all pages on our sites, Google says it’s useless to do Page Rank Sculpting.
External links mean we are suggesting our visitors to view those pages, therefore they receive PR/link juice from our site. Lower problem is that, if we are criticizing a site and don’t wanna recomment that page, it receives link juice too, because anyway a visitor can use that link to go to that site.
Bigger problem, and I don’t agree, is that for each external link a page has, our page lose some PR. Most SEO‘ed pages control external links and avoid using them. I think that’s bad because linking is the base structure of Web, we shouldn’t be punished for linking at the point of avoiding link another site.
Another problem: if spammers use comments to add links on our site, Google sees those links as our site suggesting spammer sites, which is called Bad Neighborhood, and our site loses a lot of PR when that happens, so Hikari Email & URL Obfuscator can also be used as a final anti-spam plugin, for when all other anti-spam features fail and a comment spam is approved.
But also, if we indeed wanna vote for a page and give it PR, we can use clean links. And Google already said that few parts of its algorithm give PR to pages that link very relevant and good quality pages, so linking isn’t 100% bad for SEO.
In the past Google offered us
rel="nofollow"
attribute, that used to force refering page to not receive PR and our page not lose, its semantic meaning is that this link should not be followed by crawlers. But some time after creating nofollow, Google started following them and just not give PR. And, like I refered in begining of plugin article, now Google gives a bit of PR even to nofollow links, so sites started obfuscating links to hide them.I searched for obfuscators and ended up developing this plugin as the best solution for email and URL obfuscation.
I’ll implement option to allow obfuscate one and not obfuscate the other in whole site, and also optimize a bit whole plugin, but it’ll take some days to be done. :)
participate
Thank you!
homepage
Thanks! That was great!
SEO drama is crazy, and it's a lot to try and learn…
homepage
hehe it’s not that hard at all, it’s just optimization.
Some ppl get crazy about it and think they can get a lot of extra PageRank for their sites just by using SEO. SEO must be used just to highlight most relevant content and remove mistakes that harm a site. I myself think Semantic markup is more important.
The most important of all is having a good site with good quality content, that ppl wanna see and will suggest to their friends, linking on their sites.
Hikari Email & URL Obfuscator just frees us to use links we wanna link without losing PR for that .
researchwp-content/plugins/hikari-email-url-obfuscator/HkMuob.css?ver=2.9.2′ type=’text/css’ media=” />
it doesn’t validate html5, maybe should add media=’screen’ or something.
HTML5 validation
participate
For me it’s
<link rel='stylesheet' id='HkMuob_styling-css' href='http://Hikari.WS/wp-content/plugins/hikari-email-url-obfuscator/HkMuob.css?ver=2.9.2' type='text/css' media='' />
.I’m gonna take a look on the code and fix it, tnx for the report ^^
finally fixed in v0.08 :)
No obfuscation in the search results
Hello
The plugin is working very well with just one little niggle.
Theme – Atahualpa
WordPress – 3.01
When a search is run, the obfuscation is not cutting in for links in the search results. Results are currently set to 'extract' rather than 'full' – this might be the issue, but if you've come across this before, please let me know
Thanks and keep up the great work!
Andrew Walker
Atahualpa search?
feedback
Hello, I couldn’t understand what’s the issue.
Search results should be listed as any other archive page and use standard filters. Does Atahualpa use a custom search that doesn’t use
'the_content'
or'the_excerpt'
filters?marketing
Hikari
Thanks for replying. I don't know. How would I discover this and tell you?
Currently the results are set to show 'complete' rather than 'excerpt' – when set to show 'excerpt', the results show the obfuscation code, rather than just the links. Let me know if you want to see it in action and I will set the search results to 'excerpt' again
Andrew
Troubleshooting
feedback
Maybe the theme is using the
get_the_content()
function directly, instead ofthe_content()
, and not applying its filter.First of all, in a dev environment, use 2010 theme and see if it starts working. If so, Atahualpa theme isn’t following WordPress standards and must be fixed.
You can also use my Hikari Hooks Troubleshooter plugin and search for
'the_content'
filter, and tell me which functions are hooked to it.marketing
participate
Hello again Hikari
Hooks readout below – I hope that this helps, thanks for your time
Debugging
research
The filter was running when you took this shot:
HkMuob -> the_content_filter
.Weren’t links being obfuscated on the page you took it??
If it wasn’t working, it’s a bug in the plugin, because WordPress’ job of hooking the function was working (well, let’s suppose it’s not a WordPress bug of listing the function for being hooked and not hooking it).
Could you give more more info so that I can replicate? I never saw a situation where the same content is obfuscated in a situation and not in another, and never received a report of that happening. I’d need to have this situation happening on an environment where I can replicate many times so that I can debug where exactally the obfuscation is failing.
When obfuscation doesn’t happen, do you see raw links as if the plugin was deactivated, or do you see them as if they were obfuscated and JavaScript was disabled?
information
information
Hello Hikari
Thanks for your help so far
I have inserted a couple of screenshots to try and clarify this matter –
The first when search is set to show excerpts, the second shows the same result when search is set to show full results
I hope this helps
Andrew | ECF
marketing
They seem to have been deleted by code editor or by WordPress filter while saving.
Could you give me your ICQ or msn so that we can talk closer? Just add a comment and I won’t approve it.
ICQ
informationHello Hikari
Sorry but I’ve uninstalled ICQ, it’s too annoying. I’ve decided I can live with the excerpt vs full error, it’s not that bad and this is too busy a time of year to start messing witht the website. I will keep an eye out for other obfuscators, but obviously will keep yours going in case a fix can be found
Keep well
Andrew | ECF
Ok
Anyway I suggest you build a dev environment, it’s too risky to test new stuff in production site.
And I doubt a possible bugfix for this issue will be released soon, I never felt such thing and never got a report before. If I can’t replicate it, there’s nothing to be done :p
Error activating plugin
feedback
Tried to install plugin but get the following error:
Fatal error: Class 'HkMuob_Op' not found in /Applications/MAMP/htdocs/wordpress.jem/wp-content/plugins/hikari-email-url-obfuscator/hikariobfuscator-options.php on line 6
research
It’s strange, the class HkMuob_Op is just below the line that instantiate the object.
Could you delete the plugin folder and reinstall it? I can’t see another explanation other then file corruption.
homepage
Not working here.
participateHi Hikari,
this all sounds awesome, but it’s not working for me. Have a look at my website, and in sidebar, I have added HTML code with the last balloon a mail us link, the code looks like this:
(I have changed the domain name in the email link to nospam.com, for your information)
I have added our domain to the blacklist in the plugin settings.
Can you advise how to get your plugin working correctly…?homepage
custom widget
I saw that, very sad.
But you are forgetting to add the filter to your widget.
Is that a text widget? That seems to be a "widget_execphp", could you point me the plugin that generates this widget?
Since that widget isn’t included in plugin’s default supported filters, it won’t be obfuscated by default. You must add it manually, as explained in FAQ #6.
If that plugin doesn’t have a filter available, you’ll have to tweak it too add one. If it has, you can provide me its tag and I’ll add it to my plugin, I plan finally providing an update in a month or so.
homepage
Thanks alot for your reply.
The widget I am using is called: PHP Code.
It's a free widget, like the regular "Text" widget", but with this one you can also use PHP code.
I have copied my code to the regular "Text" widget, and that seems to work..!
Source code with Java on:
I see the "hkmuob-etc" now. When Javascript is turned off, the email address is obfuscated. Brilliant.
The "PHP Code" plugin I was using is freely available from WordPress.org and widely used. So perhaps worth a look: http://wordpress.org/extend/plugins/php-execution-plugin/ (http://wordpress NULL.org/extend/plugins/php-execution-plugin/)
Thanks again, San.
research
It’s nice you made it work :)
I didn’t find any widget code in that plugin. I use Exec-PHP (http://bluesome NULL.net/post/2005/08/18/50/), it adds a filter in standard text widget instead of creating a new one. If you find any filter tag I can use to hook my obfuscation filter just send me a note and I’ll take a look again.
participate
Hi Hikari,
My apologies: I was too fast and posted the wrong link!
Here is the correct link for the PHP Code widget:
http://wordpress.org/extend/plugins/php-code-widget/ (http://wordpress NULL.org/extend/plugins/php-code-widget/)
That is the correct one I was using.
Apologies for the confusion.
San.
PHP Code Widget
That’s better :p
That’s a very simple plugin, I think it’s better to use Exec-PHP and have PHP in posts and standard text widgets than use a separated widget just for that.
Anyway it has a filter and I’ll add it to my plugin to offer greater support :p
feedback
support added in v0.08
marketing
Not working here...?
Hi Hikari,
Can you have a look at my site please. The plugin does not seem to work.
I have placed a simple image icon with href "mailto:email@domain.com" in the sidebar on my site: http://www.tulipfx.com (http://www NULL.tulipfx NULL.com) (sidebar, to the top). Whatever I try, the email address is not obfuscated.
Any tips, guidelines?
Thanks,
San.
feedback
Hello
Sorry, I only saw your comment now. If you still want help, please reply explaining better what's happening.
Unfortunately I'm low on time and can't provide direct support, I'm not even updating my plugins lately. Sorry :(
marketing
Error activating plugin. Activation impossible
participate
Hello.
I get an error when activation the plugin:
Warning: main() [function.main (http://www NULL.platformxxi NULL.org/wp/wp-admin/function NULL.main)]: open_basedir restriction in effect. File(/hikari-tools.php) is not within the allowed path(s): (/var/www/vhosts/MyWebSite/httpdocs:/tmp) in /var/www/vhosts/MyWebSite/httpdocs/wp/wp-content/plugins/hikari-email-url-obfuscator/hikariobfuscator.php on line 46
I'm running php 5, WP 3.04, and I've several plugins installed ans activated.
I created a temp directory at MyWebSite/httpdocs but still the same problem.
Can you help me fixing it ?
Thank you.
Hello
It’s trying to include a PHP file that should be in plugin’s folder, but the file seems to not be there, or your Web Server isn’t able to open it.
Try deleting the plugin and reinstalling, see if your Web Server’s user is able to open all files there. You should have the following files inside the plugin folder:
The code that’s trying to load the file is a simple include:
research