BACK






PageRank Sculpting: You can still use rel=nofollow
Posted by bbriniotis on 11th of September, 2009 at 04:33 to Programming, SEOSome 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:
- The solution needs to fix the old sites with the minimum effort and be compatible with the old dynamic parts.
- It needs to be time efficient.
- It must be expandable and easily customized.
- It must be supported by all the browsers and exclude the minimum number of users from viewing the page.
- 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:
- Recursive Function Calls
- 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
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”
Leave a Reply
Guest Articles (1)
Guides (6)
Marketing (19)
PPC (5)
Programming (2)
SEO (33)
Social Media (10)
Why my SEO campaign Failed (4)
The Google Instant and its impact on SEO
How to optimize page Titles and improve click through rates
How to Speed up Search Engine Indexing
Internet Advertising: Run Long or Short Term Campaigns?
Duplicate Content: How to solve the problem
5 quick white-hat tips to boost your SEO Rankings
Happy Birthday Web SEO Analytics!
Duplicate Content: the effects on Search Engine Rankings
How to Build Strong Relationships On Social Media
Social Media Case Study




(20 votes, average: 4.25 out of 5)
VERY cool stuff here! How hard are the links decodet? Because… google already reads simple JS like “document.write”.. and onclick-JS.
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.
I’ll be checking this out. Looks very interesting.
There is obviously a lot to know about this. I think you made some good points in Features also.
:O So mush Info :O
Your blog is so informative
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.
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.
#1 Source of information I have read about this is right here. Keep going Thank you and all my best
i will check it .. tnx
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.
PR is very important in Seo. So, this information is a great contribution.Thank you very much.
It’s easier to just create a clean nav structure and not risk running afoul of all sorts of search engine filters, yes?
Very clever! An excellent plugin, I’m using it on all of my sites. Thank you very much! *bookmarked and stumbled*
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!
Hi there, I would have to agree with Ian and John ,) and wouldn’t be just as easy to perhaps utilize the for ??
Thanks very good for report, I follow your blog
very good information about pagerank, i am using it for my sites
Thanks for the info. We are looking over this right now and hope to implement this soon. Thanks again
I download this file and will try for my website
Thanks
thanks for this script