Google Grabber — Using PHP to Find Out How Many Pages Your Domain Has Listed in Google

By  on  

Most bloggers make an effort to get as many pages listed on Google as possible. Benefits of being listed in Google may include:

  • Increased blog visits
  • Increased ad clicks
  • Broadened visitors / audience
  • Increased article comments
  • Increased referral revenues

Using a short amount of PHP code, you can query Google to retrieve the number of pages your domain has listed in Google.

The Code

/* return result number */
function get_google_results($domain = 'davidwalsh.name')
{
	// get the result content
	$content = file_get_contents('http://www.google.com/search?q=site:'.$domain);

	// parse to get results
	$result = get_match('/Results <b>(.*)from/isU',$content);

	// split the results
	$split1 = explode('of about',$result);

	// return result
	return $split1[1] ? strip_tags($split1[1]) : 0;
}

/* helper: does the regex */
function get_match($regex,$content)
{
	preg_match($regex,$content,$matches);
	return $matches[1];
}

The Usage

/* do it! */
echo 'davidwalsh.name: '.get_google_results('davidwalsh.name'); // 164
echo 'digg.com: '.get_google_results('digg.com'); // 3,790,000
echo 'google.com: '.get_google_results('google.com'); // 19,300,000
echo 'cnn.com: '.get_google_results('cnn.com'); // 2,180,000
echo 'imdb.com: '.get_google_results('imdb.com'); // 19,000,000
echo 'dzone.com: '.get_google_results('dzone.com'); // 484,000
echo 'fark.com: '.get_google_results('fark.com'); // 7,390
echo 'some-domain-that-doesnt-exist.com: '.get_google_results('some-domain-that-doesnt-exist'); // 0

Recent Features

  • By
    5 More HTML5 APIs You Didn&#8217;t Know Existed

    The HTML5 revolution has provided us some awesome JavaScript and HTML APIs.  Some are APIs we knew we've needed for years, others are cutting edge mobile and desktop helpers.  Regardless of API strength or purpose, anything to help us better do our job is a...

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    Create a CSS Cube

    CSS cubes really showcase what CSS has become over the years, evolving from simple color and dimension directives to a language capable of creating deep, creative visuals.  Add animation and you've got something really neat.  Unfortunately each CSS cube tutorial I've read is a bit...

  • By
    CSS Transforms

    CSS has become more and more powerful over the past few years and CSS transforms are a prime example. CSS transforms allow for sophisticated, powerful transformations of HTML elements.  One or more transformations can be applied to a given element and transforms can even be animated...

Discussion

  1. Or, you could just register your site with Google Webmaster tools at: http://www.google.com/webmasters/tools.

  2. True. I’m not a big fan of Google’s Webmaster Tools. Plus, with my grabber, I can loop through all 100+ customer domains and get the information quicker than navigating through GWT.

  3. Kenny

    Hi, David,

    I don’t know much about php, but your codes seems very usefull, can you tell me how do I put this in action?

    thanks.

  4. I definitely love you … ^^ … thats a quick way :-).

  5. kenny

    Hi, David,

    How do i put it in action please?

    thank you.

  6. Concerned...

    Just a quick one as I stumbled over this whilst looking around…

    You do realise that this may count as using the Google servers/services in an automated fashion – which would be against G’s Terms of Service?

  7. Tope

    This script does not work again. Google as change their result format. PLEASE, update.

  8. To get it WORKING again:

    change the last three lines with these:

    // parse to get results
    $result = get_match(‘/About (.*) results/i’,$content);

    // split the results
    $split1 = explode(‘ ‘,$result);

    // return result
    return $split1[0] ? strip_tags($split1[0]) : 0;

  9. cmcm63366

    Burberry outlet Bags there, very refreshing taste of summer to use the gray model. Simple and elegant style and practical package, can be described as beautiful share. If a top luxury brand in pursuit of a vanity, it is worth the vanity bags, it is perfect, profound, because the low-key, and can track the fraud out of kitsch; while participation and practice, can not withstand scrutiny , eternal. Check it out, definitely something you like.

  10. I can get result if i give any url.
    But i want to search links so i am passing link:digg.com.
    How to get that number ?

  11. View source code from opera miniserver:source

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!