Archive for December, 2009

Just wrote a quick and dirty blog post finder

This is for all the blog commenters out there. What it does is basically searches for recent blog posts pertaining to your keywords, grabs the PR of each domain and sends back a list. This way, you don’t have to bother commenting on any sites that aren’t going to get you crawled any faster or get you any exposure.

Check it out: Blog Post Finder

Here’s a screenshot.

Leave a Comment

Princeton site hacked by Pharmacy spammers

The world of blackhat SEO in the pharmacy space is getting blacker and blacker by the day. Site defacements are common and .edu sites get hit a lot. The most common way to get a good search engine listing with a defaced site is to implant a bit of code on the home page that detects the referrer. If it’s Google and it can find the keywords, the script will just send the user along to a pharmacy site. This way, normal visitors to the site have no idea what’s going on. It’s really actually pretty clever, but it’s completely different than the old methods of putting up profiles on message boards and link spamming. There has been a major shift towards this sort of thing. I’ve seen it happen to other institutions, but this is the Ivy League we’re talking about.

Check out the screen shot:

You can check out the Google search results to see if it’s still there.

Leave a Comment

Updated Php code to query PageRank from Google

Thanks very much to MyVodaFone at DP for this code. It’s been very useful for me. I know that there are a lot of sites with the infamous “pagerank.php” code, but that died a month or so ago I’m told. Here is the new contents of pagerank.php. You know what to do with it!

<?php function StrToNum($Str, $Check, $Magic) {     $Int32Unit = 4294967296;     $length = strlen($Str);     for ($i = 0; $i < $length; $i++) {         $Check *= $Magic;           if ($Check >= $Int32Unit) {             $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));             $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;         }         $Check += ord($Str{$i});     }     return $Check; } function HashURL($String) {     $Check1 = StrToNum($String, 0x1505, 0x21);     $Check2 = StrToNum($String, 0, 0x1003F);     $Check1 >>= 2;       $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);     $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);     $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);     $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );     $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );     return ($T1 | $T2); } function CheckHash($Hashnum) {     $CheckByte = 0;     $Flag = 0;     $HashStr = sprintf('%u', $Hashnum) ;     $length = strlen($HashStr);     for ($i = $length - 1;  $i >= 0;  $i --) {         $Re = $HashStr{$i};         if (1 === ($Flag % 2)) {                           $Re += $Re;                 $Re = (int)($Re / 10) + ($Re % 10);         }         $CheckByte += $Re;         $Flag ++;       }     $CheckByte %= 10;     if (0 !== $CheckByte) {         $CheckByte = 10 - $CheckByte;         if (1 === ($Flag % 2) ) {             if (1 === ($CheckByte % 2)) {                 $CheckByte += 9;             }             $CheckByte >>= 1;         }     }     return '7'.$CheckByte.$HashStr; } function getPageRank($url) {         $agents = array(                     'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30',                     'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.9',                     'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.8',                 );     $useragent = @ini_get('user_agent');     @ini_set('user_agent', $agents[array_rand($agents)]);     $ch = CheckHash(HashURL($url));     $pr_url ="http://toolbarqueries.google.com/search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url";          $data = file_get_contents($pr_url);     @ini_set('user_agent', $useragent);     $pos = strpos($data, "Rank_");     if($pos !== false)     {         $pr = trim(substr($data, $pos + 9));         return str_replace("\n",'',$pr);     }     else         return 0; } ?>

Leave a Comment

My backlinks guide is now sorted by PR

My old PR checking code had stopped working, but I got a new one from a guy on DP. So if you check out my backlinks guide now it shows PR and it sorts from highest to lowest, Google obviously being at the top!

Leave a Comment

I just started using Zen Coding

I’m using the plugin for gedit. I’ll never go back to straight HTML.

Zen Coding v0.5 from Sergey Chikuyonok on Vimeo.

Leave a Comment

Major update to my content rewriter

As many improvements as I’ve made, I’m switching to a keystroke and click(instead of buttons) based approach just like PAR. I’m also switching the spinning code over to javascript. On articles of any size my host limits my memory usage. Damn recursion!

Leave a Comment

How I just got a free $50 AdWords credit

Ok, first I got an account at a hosting company I wanted to use anyway. I saw an ad somewhere offering a $25 coupon code for entering “slickdeals” so I was very happy. Little did I know that it would come with a $50 AdWords credit.

So click this link and use the “slickdeals” coupon code

Now buy a hosting account. Just spend less than $25 and you won’t pay a dime. I’m not sure how long this promo is running.

When you get your account setup emails log into your cpanel ASAP. At the top left you should see this:

Just click on Redeem Now and copy the code.

Next, you want to log into your AdWords account and go to Billing -> Billing Preferences. Enter the code right in the bottom. It will accept the code and you will have $50 credited to your account.

Comments (3)

$25 off (free month, domain, whatever) at Hostgator

Just use this blatant affiliate link and the coupon code “slickdeals”

Comments (2)

Video on how to use GAN for niche research

Comments (1)

Content Rewriter / Article Spinner has a new beta

Check out my article spinner / content rewriter/

It does allow nested brackets up to 10 levels deep. I might increase that to 20 or something. That’s totally arbitrary. This version is much better. Here’s some features:

  • You can now select text and automatically put brackets around it
  • When you double click a word, synonyms are loaded automatially
  • When you double click a synonym, it’s added to the innermost set of words you’re working on

THE BAD PART is I still don’t have the parts of speech right. For example, a synonym for “marketing” is “advertise”. It’s better than nothing but I’m looking for a source that will allow me to create a database where “marketing” would return “advertising” as opposed to “advertise”.

http://imgur.com/04TRgl.png

Leave a Comment

Older Posts »