REGISTER NOW
back BACK
Share
TwitterDiggDeliciousFacebookMyspaceSumbleupon
author

PageRank Sculpting: You can still use rel=nofollow

1 Star2 Stars3 Stars4 Stars5 Stars (20 votes, average: 4.25 out of 5)
Posted by bbriniotis on 11th of September, 2009 at 04:33 to Programming, SEO

Some months ago Google changed the way that treats the nofollowed links. This new policy causes massive problems to all the sites that use the nofollow attribute as it affects the way that PageRank flows in the site and it could lead to PR loss.

WebSEOAnalytics has developed a free script that allows you not only to do PageRank sculpting as easily as you did before but also keep all the rel=”nofollow” links you have in your sites.

Brief description

Our solution uses obfuscated javascript in order to block Google. Additionally we encode the URLs in order to make sure that they can not be detected by search engines. This script has already tested in several sites for the last 3 months and it is currently used in this site.

The main idea is that the developer will still be able use rel=”nofollow” to block the links he wants. Then a script will detect all the nofollowed links and it will replace it with the obfuscated javascript.

You can download the script here: webseoanalyticsLinker.zip

Below you can find installation instructions and also a detailed analysis of the way it works.

Analysis

The solution should comply with the following restrictions:

  1. The solution needs to fix the old sites with the minimum effort and be compatible with the old dynamic parts.
  2. It needs to be time efficient.
  3. It must be expandable and easily customized.
  4. It must be supported by all the browsers and exclude the minimum number of users from viewing the page.
  5. It must be easy to update in case that Google makes more changes.

In the next part we will present how to install the script and the PHP code that solves the above issue. If your site is not developed in PHP it is very easy to build your own script by following the steps of the last part of the article. Within the next weeks we will release a .NET version of the script.

Installation

Warning: Make sure you have basic knowledge of PHP and that you know what you are doing before you start editing your site.

Download the webSeoAnalyticsLinker zip and extract the files on the root of your site.

Include the file webSeoAnalyticsLinkerheader.php in every page of your site by inserting before the <html> tag the command

<?php include('webSeoAnalyticsLinkerheader.php'); ?>

Include the file webSeoAnalyticsLinkerfooter.php in every page of your site by inserting after the </html> tag the command

<?php include('webSeoAnalyticsLinkerfooter.php'); ?>

Add in all of your pages the javascript files webSeoAnalyticsLinker.js and base64.js by inserting between the tags <head></head> the lines:

<script src="webSeoAnalyticsLinker.js"></script>
<script src="base64.js"></script>

By default the above script uses the Recursive Function mode (see below). If you wish to use the HTTP POST mode you need to edit the files variables.php and webSeoAnalyticsLinker.js. Open them and change the variables $webSeoAnalyticsLinkerMode and var webSeoAnalyticsLinkerMode from 0 to 1.

When using the HTTP POST mode it is optional to block the nofollowed pages in the case that they do not get called by using the POST method. In order to do this insert before the <html> tag the command

<?php include('nofollowblocker.php'); ?>

This will prevent Google from indexing your blocked page.

We suggest to use the default Recursive Function mode.

The last modification that needs to be done is in your CSS file. Every style that affects the <a> tag must also affect the <span> tag. In order to achieve this modify all the anchor styles of your css file like this:

The following lines

div.someClass a {
...
}

Should be converted to

div.someClass a, div.someClass span.webseoanalyticsLinker {
...
}

Back to the lab - Hands on keyboard (for Web Developers)

First of all we need to find a way to dynamically replace every link that is marked as nofollow. The way to do this is to process the output of every page just before it is sent to the user (on the side of the server). Then we will use Regular Expressions to replace all the nofollowed links with spans that execute Javascript.

Secondly as we know Google can execute basic javascript code. In order to prevent Google from parsing our code we can use 2 methods:

  1. Recursive Function Calls
  2. HTTP POST Method

In the first method when the user clicks on the link (which is replaced by a <span>) a javascript function gets called recursively. Finally an obfuscated code is executed that redirects the user to the target page.

In the second method after the click, a form is created dynamically. This form is used in order to create an HTTP POST request to the target URL. Optionally we can check on the target URL (the nofollowed page) if the POST method has been used. If not we will redirect the user to the main page. This will prevent Google from even indexing the page.

The last think we do is to encode all the blocked URLs with Base64 encoding. This is mainly because Google checks not only for anchor links but also for strings that look like URLs. So if you have in your HTML source, within your javascript a URL string, it is certain that Google will follow it and that it will consider it a link. In order to be able to use the Base64 decoding with Javascript we use a library called Base64 encode / decode.

This solution can be applied not only to new but also to old sites with minimum effort. It is extremely time efficient as it allows you to continue using the nofollow attribute in your code. When the code gets executed it will replace all the nofollowed anchors by spans. Also it can be easily customized and updated. Finally it is a cross browser solution and it limits only the users that have javascript turned off.

You can download the PHP/Javascript version of the script from here: webSeoAnalyticsLinker.zip

If you like this article, use the bookmark buttons on the top of the page and share it with other users.

Tags: anchor, coding, download, free, google, javascript, link, nofollow, pagerank, pagerank sculpting, php, Programming, SEO, Useful Links, web development, webseoanalyticsLinker

21 Responses to “PageRank Sculpting: You can still use rel=nofollow”

  • SEOux Indianer says:

    VERY cool stuff here! How hard are the links decodet? Because… google already reads simple JS like “document.write”.. and onclick-JS.

    SEOux Indianer did not rate this post.
  • bbriniotis says:

    SEOux Indianer: It can not be decoded by Google for sure. We have been using this script for 3 months to many of our clients and of course in this site. ;)

    bbriniotis ratings for this post: bbriniotis gives a rating of 5bbriniotis gives a rating of 5bbriniotis gives a rating of 5bbriniotis gives a rating of 5bbriniotis gives a rating of 5
  • Joe says:

    I’ll be checking this out. Looks very interesting.

    Joe did not rate this post.
  • jack parler says:

    There is obviously a lot to know about this. I think you made some good points in Features also.

    jack parler did not rate this post.
  • jack parler says:

    :O So mush Info :O

    jack parler did not rate this post.
  • alex farguson says:

    Your blog is so informative

    alex farguson did not rate this post.
  • morison dony says:

    I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work. Look forward to reading more from you in the future.

    morison dony did not rate this post.
  • Renowned Media says:

    Here is some further reading if anyone would like more info on Google PR and nofollow usage.

    Edited by bbriniotis: URL address is replaced by an anchor link.

    Renowned Media did not rate this post.
  • Domain Analysis says:

    #1 Source of information I have read about this is right here. Keep going Thank you and all my best

    Domain Analysis did not rate this post.
  • OS says:

    i will check it .. tnx

    OS did not rate this post.
  • john chen says:

    Nice idea, but its really bad for usability. You want your links to work even if Javascript is disabled. I’m using the noscripts plugin on firefox and some of your links like “references and clients” do not work.

    So a caveat to people that are thinking of using this to replace all their no-follow links. Browsers with JS switched off won’t be able to access the links.

    john chen ratings for this post: john chen gives a rating of 2john chen gives a rating of 2john chen gives a rating of 2john chen gives a rating of 2john chen gives a rating of 2
  • Posicionamiento Web says:

    PR is very important in Seo. So, this information is a great contribution.Thank you very much.

    Posicionamiento Web did not rate this post.
  • Ian says:

    It’s easier to just create a clean nav structure and not risk running afoul of all sorts of search engine filters, yes?

    Ian did not rate this post.
  • James Parsons says:

    Very clever! An excellent plugin, I’m using it on all of my sites. Thank you very much! *bookmarked and stumbled* :)

    James Parsons ratings for this post: James Parsons gives a rating of 5James Parsons gives a rating of 5James Parsons gives a rating of 5James Parsons gives a rating of 5James Parsons gives a rating of 5
  • Marcus Miller says:

    Hmm, I guess this would work but… really, you are just chasing your tale here. The whole page rank sculpting and silos thing was a killer move two, maybe three years ago but now, it is dead in the ground.

    The same thing to a lesser and more natural degree can be achieved with a good, usable navigation and extra links to important pages built into the site design. Really, no need for this kind of approach and you only risk discovery and punishment at the hand of the google hammer!

    Marcus Miller did not rate this post.
  • Mindfull SEO says:

    Hi there, I would have to agree with Ian and John ,) and wouldn’t be just as easy to perhaps utilize the for ??

    Mindfull SEO did not rate this post.
  • Christian Louboutin says:

    Thanks very good for report, I follow your blog

    Christian Louboutin did not rate this post.
  • jack says:

    very good information about pagerank, i am using it for my sites

    jack did not rate this post.
  • Jason Davies says:

    Thanks for the info. We are looking over this right now and hope to implement this soon. Thanks again

    Jason Davies did not rate this post.
  • Packers And Movers says:

    I download this file and will try for my website

    Thanks

    Packers And Movers did not rate this post.
  • Packers And Movers says:

    thanks for this script

    Packers And Movers did not rate this post.

Leave a Reply