Trick Ranking Software to Use Random Proxies
There are myriad options for rank tracking software, the most common of which probably being WebPosition Gold, but hardly any of them actually do a decent job of using proxies to prevent from getting banned. For example, WPG only allows you to choose 1 proxy, while in a perfect world you would be shifting through hundreds. Now, if you wrote your own rank-tracking software, you would not be running into this problem. However, for the majority of SEOs, writing custom software is a waste of time and money. So, how can you trick any search ranking software to use different proxies?
Requirements
- A LAMP Server – you can get a cheap one from Linode. I would highly recommend them. ($19.95/mo)
- A PHP Developer – There are really only a handful of lines of code to deal with, but an expert should be able to knock this out quick
- An open-proxy list – You are on your own for this one. Plenty of resources available to find them.
Step 1: The Hosts File
The real beauty of this method is it’s simplicity. Any ranking software will rely on the same connection methodologies as the computer upon which it runs. Thus, by simply editing the hosts file, you can trick the application to proxy through your own server!
Simply add the lines to your host file (c:/Windows/system 32/drivers/etc/hosts) being sure to switch the xxx.xxx.xxx.xxx with the IP address of your server…
xxx.xxx.xxx.xxx google.com
xxx.xxx.xxx.xxx www.google.com
Step 2. The vhosts File
Set up your LAMP server as if you were actually running the site google.com. Depending upon your Linux build, it will probably be located at /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.google.com
ServerAlias google.com
</VirtualHost>
Step 3. The PHP
Set up a folder in /var/www/html named search (/var/www/html/search). In that folder, create an index.php file and use a variant of the following code…
<?
$uri = $_SERVER[‘REQUEST_URI’];
$proxies = file(“proxylist.txt”);
shuffle($proxies);
$proxy = trim(array_pop($proxies));
$ch = curl_init(“http://www.google.com$uri”);
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)”);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$data = curl_exec($ch);
echo $data;
?>
Step 4. Create the Proxy List
Now simply create a file called proxylist.txt with 1 proxy per line (make sure you include the proxy port!).
The End Result
Now, whenever your rank check software attempts to search Google, it will go through your webserver instead. Then, your webserver will interpret the request via the index.php file which will choose a random proxy and print the results of the attempted search to the page. Your rank check software will never know the difference. And Google will still think your an average web surfer.
Thanks for the article on this topic. I have been doing some research on some other alternatives, but that looks like a great idea.