juust ~ php oddities

Unordered list of one element
  • rss
  • begin
  • about
    • vcard
    • WTF is BroJesus
  • php scripts
    • flickr wp widget
    • google multi key serp tool, php script
    • gwt plugin
  • php classes
    • php pagerank class
    • fibonacci class
    • robots.txt parser php class
  • serp
    • serp dashboard wordpress plugin
  • services

Pagerank sculpting session

juust | 28/07/2010

In the series ‘how to manipulate google‘ : pagerank sculpting 101.

If I build a site about “LCD television” and want to promote three specific brands/offers, I want Google to index the product/offer-pages as most important in the site, and not the index page.

How do I achieve that ?

Some basic theory : I have two rings of pages, one with four pages (B), and one with three (A), linked over one page (AB),

.

pagerank sculpting 000

…after running that through a pagerank simulation, I get these results :

item importance
b 0.97
ab 1.60
a 0.73

…the linking page (AB) sheds its juice to two rings, 3/5 vs 2/5, and by doing so drains the smaller ring. Being the only page that gets links and juice from all other pages, the ab-page itself scores the highest ‘importance’ in the website.

Conclusion : adding some subpages in a smaller ring to a page makes it relatively more important in the website.

pagerank sculpting 001

item importance
home, prod1, prod3 0.97
prod2 1.60
sub 0.73

Let’s add some more subrings :

pagerank sculpting 002

item importance
I, Prod1 0.96
Prod2, 3 1.58
sub 0.72

pagerank sculpting 003

item importance
home 0.94
Prod 1,2,3 1.56
sub 0.72

The importance of the product pages seems to drop, but the ratio prod-n/home improves, so it works out better.

Home-links

By not linking back to the index page from the subpages, the product pages end up with a higher rank within the site.

If I do link from each subpage (S) to the index page (home) (what wordpress themes generally do)

pagerank sculpting 004

…I get these results…

item importance
home 1.91
Prod 1,2,3 1.54
Sub 0.57

…the home page is indicated as most important in the site, which isn’t what I wanted, so I omit the home-link on subpages.

End of the sculpting session.

(note: this is, of course, all theoretic)

Comments
No Comments »
Categories
seo tips and tricks
Comments rss Comments rss
Trackback Trackback

interesting : seo panel

juust | 02/07/2010

That seems fun, an open source seo toolkit. It is a five second install multi-user package offering simple stats, but more interesting, a semi automated website directory submitter in a clean interface, and could be a valuable service offer if you run an seo community site.

It is PHP MVC and, what sparked my interest, it has a plugin interface.
I love that, It could be going somewhere over the next few years.

Comments
1 Comment »
Categories
optimization, seo, seo tips and tricks, tool
Comments rss Comments rss
Trackback Trackback

tweeting pipes

juust | 30/06/2009

…but serious, channels on Twitter are a hot item.

Twitter seem to want branded channels for commerce by using verified accounts to prevent spoofing celebrities, and the same goes for brandnames. There is already a growing trade in twitter accounts like @nike-shoes, @skyeurope.

To build an attractive channel I need credibility, provide regular good quality fresh content, so where do I get that :

Yahoo pipes

I am very lazy and Yahoo have a nice example online, the news aggregator with 14 sources like blogsearch, icerocket, technorati, that you can clone and use out of the box. So I cloned it, replaced the technorati api key and run the pipe with ‘banking’ as keyword. I grab the rss feed url and read that with simplexml (you can use that pipe with any keyword).

Then I take a twitter php api class from sourceforge (it only reads the account, it doesnt have the post-routines), by simon wippich, wire in the rss-feed and start posting content.

  1. require_once('twitter.class.php');
  2. $Twitter = Twitter::getInstance();
  3. $Twitter->setUser('Account','SomePassword');
  4.  
  5. $rss= simplexml_load_file("http://pipes.yahoo.com/pipes/pipe.run?_id=1234567890&_render=rss&textinput1=banking");
  6.  
  7. if($rss)
  8. {
  9.     foreach($rss->channel->item as $e)
  10.     {
  11.         $shrunk = file_get_contents('http://bit.ly/api?url='.$e->link);
  12.         $msg = trim(substr($e->title, 0, (137-strlen($shrunk)))).' '.$shrunk;
  13.         $output = $Twitter->post($msg);
  14.     }
  15. }

neofinance

Now I can post proper stuff.

The second part of a channel is the audience.

Where to get my audience ?

Google Search

Google serp scrapers are always good for 1000 targetted results on any keyword : i use
allinanchor:twitter.com/ site:twitter.com banking
as search phrase, that gets me 95% valid accounts with my keyword banking in the description

  1. $key = 'banking';
  2. //scrape urls
  3. $urls = twt_Google('allinanchor:twitter.com/ site:twitter.com '.$key);
  4. //get the account names
  5. $accounts = twt_Google_getaccounts($urls);
  6.  
  7. function twt_Google($keywords, $pages=1) {
  8. //scrape results off of google serp    
  9.     $lang='en';
  10.     $results=100;
  11.     for($i=0;$i< $pages;$i++){
  12.         $start = $i*100+1;
  13.         $vargoogleresultpage = "http://www.google.com/search?as_q=".urlencode(trim($keywords))."&num=".$results."&start=".$start."&hl=en&lr=lang_en";
  14.         $googleresponse = join("",file($vargoogleresultpage));
  15.         $googlehits = preg_split('/class=r><a /', $googleresponse, -1, PREG_SPLIT_OFFSET_CAPTURE);
  16.         $i=0;
  17.         foreach($googlehits as $googlehit){
  18.                 $i++;
  19.                 preg_match("/href=\"(.*?)\"/", $googlehit[0], $t, PREG_OFFSET_CAPTURE);
  20.                 $the_urls[] = $t[1][0];
  21.         }        
  22.     }
  23.  
  24.     //return a set with twitter urls http://www.twitter.com/account
  25.     return $the_urls;
  26. }
  27.  
  28. function twt_Google_getaccounts($arr) {
  29. //get the account name from the twitter-url
  30.     for($i=0;$i<count($arr);$i++){
  31.         $parts = explode('/', $arr[$i]);
  32.         //account is 3 : http: // … / account
  33.         $myaccounts[] = $parts[3];
  34.     }
  35.     return $myaccounts;
  36. }

There is my audience, lets make some friends :

  1.  
  2. for($i=0;$i<count ($accounts);$i++){
  3.      followthisone($accounts[$i], 'Account','SomePassword');
  4. }
  5.  
  6. function followthisone($accountname, $name, $pass) {
  7.     $url = "http://twitter.com/friendships/create/".$accountname.".xml";
  8.     $ch = curl_init();
  9.     curl_setopt($ch, CURLOPT_URL,$url);
  10.     curl_setopt($ch, CURLOPT_POST, 1);
  11.     curl_setopt($ch, CURLOPT_USERPWD, $name.":".$pass);
  12.     $result= curl_exec ($ch);
  13.     curl_close ($ch);
  14. }

hello friends!

Anyways, that’s the basic ingredients of a marketing channel, proper content and an audience.

Comments
No Comments »
Categories
seo tips and tricks
Tags
twitter
Comments rss Comments rss
Trackback Trackback

« Previous Entries

Recent Posts

  • geert wilders
  • gone till september
  • socialize me
  • Pagerank sculpting session
  • wish you were here

click me!
rss
Comments rss
Blog Directory
Web Developement Blogs - BlogCatalog Blog Directory
Listed in LS Blogs the Blog Directory and Blog Search Engine
Blog Flux Directory
joopita.com free web directory and search engine
design by jide
sitemap
21524 confirmed spam kills