Link Cloaking Plugin for WordPress
I’ve created a plugin for WordPress that can cloak outgoing links in your posts and/or pages.
Features
- Choose what to cloak – all links, only the links you specify or no links at all.
- Choose where to cloak – posts, pages or both.
- Configure the URL – you can set the “prefix” part of the URL (see examples below).
- Exception list – links pointing to domains in this list will not be cloaked. For example, this is useful if you have chosen to cloak all links but don’t want to cloak the links to your own domains.
- Compatible with all browsers – the link cloaker plugin doesn’t use JavaScript so it will work even for visitors that have disabled JS.
- “Smart” cloaking – relative, ambiguous or malformed URLs will not be cloaked. Better safe than sorry.
- As of version 1.1, static link cloaking.
New! The premium version of this plugin is now available and includes several new features :
- Cloak links in any part of your site, including the comment section and the sidebar.
- Works with plugin-created links.
- Five new cloaking types – for example, you can display the cloaked URL in a frame, or use a special redirect that hides the referrer.
- Improved link management and click statistics.
- Free automatic updates.
- And more. Check out EclipseCloaker.com for complete details.
Examples
Here’s a link explicitly tagged for cloaking -
<a href="http://evil-guide.tripod.com/"><!--cloak-->A Cloaked Link</a>
And here’s what it looks like in the post – A Cloaked Link
If you have configured the plugin to cloak all links (the default) you don’t need the <!–cloak–> tag inside your links.
Installation
- Download the link-cloaking-plugin.zip file.
- Unzip the file.
- Upload the `link-cloaking-plugin` folder to the `/wp-content/plugins/` directory.
- Activate the plugin through the ‘Plugins’ menu in WordPress.
- (Optional) Go to Options -> Link Cloaking and modify the default settings to your liking.
- Re-save your permalink settings to insert the plugin’s link redirection code to the WordPress .htaccess file :
- WP 2.7 and above : Go to Settings -> Permalinks and click “Save Changes”.
- Older versions of WP : Go to Options -> Permalinks and click “Update Permalinks”.
Download
Version 1.4.1 : link-cloaking-plugin.zip (9 KB)
Requirements :
- WordPress 2.2 – 2.9
mod_rewrite. If “pretty permalinks” work on your blog then you probably have this already.
@Ash – Not at this time; not in the foreseeable future either
Thanks White Shadow, i’ll try and find another way around the comment links.
I’m having difficulty cloaking banner ads i’m running from custom fields, your previous ‘hack’ for custom fields worked a treat where i had a plain url to cloak but can this be modified where the url is included within banner code in the custom field?
Here is an example of the code (links removed) that i include in a custom field called banner468
@Ash – It’s doable, but would take a lot of thinking/hacking. I’m not up for it at the time, sorry.
If you want to give it a try yourself, you could use the $url_pattern regexp to extract the URL from the banner and then modify the previous hack to handle these additional URLs.
and what about an option to automatic link insertion to a given keyword instead?
@Hugo Santos – There are already other plugins that can do that
However, most of them would have compatibility problems with this plugin, unless you use them to insert “statically cloaked” links.
@White Shadow –
Hi White Shadow,
I put your plugin onto my website: http://nguyenngocminhhanh.com/
But when clicking on cloaked link, it redirected to not_found.html.
Could you please take a look and help me work out?
Thanks
@minimaus – Looks like the plugin isn’t executed when you click the link. Have you updated the permalinks after setting up the plugin? If yes, check the .htaccess file and make sure the “cloaking”-related rules (they should be marked as such) come before the main WordPress rules.
Addendum : I looked at your site more in-depth and it appears you are not using “fancy” permalinks. Might it be because mod_rewrite isn’t supported by your host? If that’s the case then this plugin will not work on your site.
@White Shadow –
Many thanks. Could you please give me a recommendation of a script, plugin that overcome this host limitation.
minimaus
@minimaus – I don’t have any specific recommendations, but you should be able to find something on Google.
@White Shadow –
How the .htaccess file look like?
Mine like this:
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
order deny,allow
deny from all
allow from all
order deny,allow
deny from all
# BEGIN WordPress
# END WordPress
@minimaus – Try adding these three lines between the lines that say “Begin WordPress” and “End WordPress” :
I’m not 100% sure it’ll work, but it could make the plugin function correctly.
@White Shadow –
Big big thanks to your helps, White Shadow, even it turn out that the host do not support this plug-in. Maybe i would consider to change to another hosting service.
bigmaus
I’ve tried getting this plugin to work in WP 2.51 and am NOT having success. I followed the suggestions about the .htaccess file but still the links get sent to my 404 page.
I could not find a place to “update permalinks”. In settings/permalinks the only option is to update the settings. I’ve tried clicking that to no avail.
Mod rewrite IS available on my host.
My blog is in a “blog” folder and I’ve tried putting the .htaccess in the root and in the folder.
Any other suggestions would be appreciated.
Wally
@Wally – The wording on the options page has been changed in newer WordPress versions and it doesn’t say “Update Permalinks” anymore; anyway, saving the settings should be enough.
Just to clear this one up, the .htaccess file needs to be in the directory that the blog is installed in (or your post permalinks probably wouldn’t work).
I would guess that the plugin-related .htaccess rules are incorrect in your case, most likely either in the prefix or path; I can’t provide any more details without knowing your directory structure and plugin configuration.
WS,
My blog path is just domain.com/blog/. Then it is the normal WP setup. The path to the linkcloaker plugin is \blog\wp-content\plugins\link-cloaking-plugin and I have it set to the default settings for now.
There wasn’t a .htaccess file in the /blog directory so I just created one with the 3 lines mentioned below in a post between the # START Wordpress and # END Wordpress. BUT… after trying to get the plugin to work the .htaccess file disappears. I guess WP must be deleting it.
So, maybe there is another conflict and this won’t work on my blog.
Thanks anyway.
Wally
@Wally – Hmm, let me guess – you’re using the basic “?p=xyz” permalinks for your posts, right? In that case WP doesn’t need the .htaccess file and might be deleting it when you update permalink options (just a guess, I have never seen WP actually do that).
But still, if you create the file manually and put the right lines in it the plugin should work. The challenge might be getting the rules right when doing it by hand.
By the way, have you tested if you can access domain.com/blog/wp-content/plugins/link-cloaking-plugin/wplc_redirector.php in your browser? If the plugin is correctly installed in the default location that file should redirect to your homepage (not 404).
WS,
No I use the custom permalink: /index.php/%year%/%monthnum%/%postname%.html
When I try to go to the file domain.com/blog/wp-content/plugins/link-cloaking-plugin/wplc_redirector.php, I just get “Index of /blog/wp-content/plugins/link-cloaking-plugin”. It doesn’t list any files but all three php files are there.
Wally
@Wally – AFAIK permalinks beginning with index.php still don’t use .htaccess/mod_rewrite.
Ahhh, it’s already past midnight in this timezone and I can’t think of anything else useful
BTW : There is a way to tell if the plugin actually gets executed when a cloaked link is clicked – it generates a HTTP 301 response and adds a “X-Redirect-Src” field to the header…
@White Shadow – I don’t see any extra text in my 404 page when the link doesn’t work but I use a custom 404 page.
I notice my SocioFluid plugin doesn’t work when the link cloaker is turned on. I guess I’ll just leave it alone for now since there seems to be several confilicts or problems.
Thanks again.
Wally
@Wally – Web browsers don’t normally show HTTP headers anyway. You’d need a special program or a FF extension to see them…
Hi,
Thank you for the great plugin. I got a question though.
How to make the link to “link cloak” under manage menu hidden from user other than admin?
In wordpress under the manage menu, all links from other plugin are hidden except link cloak when I log in as a normal user.
Thank you.
@Waldo – Okay, I’ve change it so that only users who can access Manage -> Links can get to Manage -> Cloaked Links as well. You will need to download the plugin again.
@White Shadow – Hi, thanks for the quick reply.
It works like charm.
[...] Thanks, I found this plugin for wordpress that looks promising: (hope this type of link is ok) ø Link Cloaking Plugin for WordPress | W-Shadow.com ø [...]
Hi White Shadow,
I have install plugin into my website. Unfortunately, my webhosting regularly change my .htaccess file so cloaking links send people to 404 error file.
How can i configure plugin so whenever the .htaccess change, the plugin is just inactive ?
Thanks for great plugin.
dinhnq
@dinhnq – I could modify the plugin to check .htaccess before cloaking the links, but doing it on every pageload would hurt the blog’s performance. Maybe if it checked every 1000 requests or so?….
[...] Link Cloaking There is a free WP plugin which you can get here: ø Link Cloaking Plugin for WordPress | W-Shadow.com ø I can’t vouch for it in any way as I use a different, more comprehensive (paid) plugin, but it [...]
Hi! I installed this plugin and it seemed to be working, at least on links that didn’t have subid’s appended to the end of affiliate links.
So I deactivated it, and reactivated to see if I could get it to work with affiliate links, but then it just shut down the whole site and all pages would just go straight to the home page.
Any idea why it would do that? I had to remove the code that it added to .htaccess to get the site working again. And now I can’t put it back because the site messes up again. (Hope that wasn’t too vague…)
@Rip – The plugin redirects to the homepage when it can’t find the original URL of a cloaked link. This is most often caused by a conflict with another plugin. Specifically, plugins that add new links to posts can cause this issue.
@White Shadow –
Thanks, White.
I have another question. If I copy post including my cloaked links to a forum e.g. http://abcde.com/goto/Here_to_go/257/10.
when a click on forum links happen, does this count for my website http://abcde.com/ or forum website.
i thought it would count for my website because the cloaked links need to be decoded into original affiliate links via my webhost. Is it true?
If yes, can the affiliate agency track down the original of the click. Some programms are very strick to the registered website, some are not.
Regards