开发者

how to calculate google backlinks using php

i want to create my own tool for back-links calculation using PHP. is there any api to fetech t开发者_StackOverflow社区he data for back links


The full implementation in PHP would look something like this:

<?php
$domain = "example.com"; // Enter your domain here.

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=large&"
    . "q=link:".$domain;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $domain);
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body);
$urls = array();
foreach($json->responseData->results as $result) // Loop through the objects in the result
    $urls[] = $result->unescapedUrl;             // and add the URL to the array.
?>

Basically you edit the domain variable at the top and it will fill the $urls array with unescaped URLs linking to the domain.

EDIT: I've edited the link to return 8 results. For more, you'll have to parse the pages and loop through them with the start parameter. See the Class Reference for more information.


Run a Google search with the URL prefixed by link: - for instance, link:www.mydomain.com.

While Google does provide a more specific backlink overview in their Webmaster Tools area (more info), I'm not sure they provide an external API for it.


since the question is "how to use in php code?" I assume you want to process on the server side as opposed to ajax on the client side. So use the Google URL link: hack in combination with curl http://php.net/manual/en/book.curl.php


There is also a PHP class with many more options, that you can use: http://code.google.com/p/seostats/


function load_content ($url, $auth = true,$auth_param) {
          $curl = curl_init();
          $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
          if ($auth){
                  curl_setopt($curl, CURLOPT_USERPWD,$auth_param);
          }
          curl_setopt($curl, CURLOPT_URL, $url);
          curl_setopt($curl, CURLOPT_USERAGENT, $uagent);
          curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($curl, CURLOPT_TIMEOUT, 3);
          $content = curl_exec($curl);
          //$header = curl_getinfo($curl);
          curl_close($curl);
          $res['msg'] = "";//$header;
          $res['content'] = $content;
          return $res;
 }

function google_indexed($url){
          $html = load_content ($url,false,"");
          return $html;
 }

Example:

<?php
 $domain = "google.com";
 $indexed["google"] = google_indexed("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:$domain");

http://alex-kurilov.blogspot.com/2012/09/backlink-checker-google-php-example.html


For finding External links to the page : (external backlinks)

    <?php
        $url = "any url";
    $result_in_html = file_get_contents("http://www.google.com/search?q=link:{$url}");
    if (preg_match('/Results .*? of about (.*?) from/sim', $result_in_html, $regs))
    {
        $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
        echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u>external links to page';
    } elseif (preg_match('/About (.*?) results/sim', $result_in_html, $regs))
    {
        $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
        echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> external links to page';
    } else
    {
        echo ucwords($domain_name) . ' Has Not Been Indexed @ Google.com!';
    }
    ?>

And to find internal backlinks :

    <?php
    $url = "any url";
    $result_in_html = file_get_contents("http://www.google.com/search?q=site:{$url}");
    if (preg_match('/Results .*? of about (.*?) from/sim', $result_in_html, $regs))
    {
        $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
        echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> internal links to page';
    } elseif (preg_match('/About (.*?) results/sim', $result_in_html, $regs))
    {
        $indexed_pages = trim(strip_tags($regs[1])); //use strip_tags to remove bold tags
        echo ucwords($domain_name) . ' Has <u>' . $indexed_pages . '</u> internal links to page';
    } else
    {
        echo ucwords($domain_name) . ' Has Not Been Indexed @ Google.com!';
    }
    ?>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜