The problem. It’s a known fact that regular visitors don’t click on ads. Those who do click on ads are, 90% of the time, visitors coming from search engines.
Another problem is Google’s “smart pricing.” Being smart priced means that your click-through rate (CTR) is low and the money you earn per click is divided by between 2 and 10. For example, if a click would normally earn you $1.00, with smart pricing it could earn you as little as $0.10. Painful, isn’t it? Happily, this solution displays your AdSense ads to search engine visitors only, which means more clicks and a higher CTR.
The solution.
- Open the functions.php file in your theme.
- Paste the following code in it:
1functionscratch99_fromasearchengine(){2$ref=$_SERVER['HTTP_REFERER'];3$SE=array('/search?','images.google.','web.info.com','search.','del.icio.us/search','soso.com','/search/','.yahoo.');4foreach($SEas$source) {5if(strpos($ref,$source)!==false)returntrue;6}7returnfalse;8} - Once done, paste the following code anywhere in your template where you want your AdSense ads to appear. They’ll be displayed only to visitors coming from search engine results:
1if(function_exists('scratch99_fromasearchengine')) {2if(scratch99_fromasearchengine()) {3INSERT YOUR CODE HERE4}5}
Code explanation. This hack starts with the creation of a function called scratch99_fromasearchengine(). This function contains a $SE array variable in which you can specify search engines. You can easily add new search engines by adding new elements to the array.
The scratch99_fromasearchengine() then returns true if the visitor comes from one of the search engines containing the $SE array variable.
