MediaWiki and Google AdSense



If you’re interested in running a MediaWiki site with Google AdSense, you should know that in order to comply with the Google TOS, you shouldn’t display ads on non-content pages.

I’ve solved this by limiting my users’ choice of skins to Monobook, and modifying the Monobook.php file as follows:

For a vertical ad below your left-side navigation, after this:

[code] echo htmlspecialchars($this->data[‘nav_urls’][$special][‘href’])
?>"><?php $this->msg($special) ?><?php } ?>

<?php } ?> [/code]put this: [code] <?php if(!strstr($_SERVER['REQUEST_URI'], "Special:") && !strstr($_SERVER['REQUEST_URI'], "User:") && !strstr($_SERVER['REQUEST_URI'], "User_talk:") && !strstr($_SERVER['REQUEST_URI'], "Image:") && !strstr($_SERVER['REQUEST_URI'], "action=submit") && !strstr($_SERVER['REQUEST_URI'], "action=edit") && !strstr($_SERVER['REQUEST_URI'], "Template:")) { include("adsense/adsense_vertical.php"); } ?> [/code]For a horizontal ad at the bottom of your articles, after this: [code] <?php if($this->data['catlinks']) { ?>
<?php $this->html('catlinks') ?>
<?php } ?>
[/code]put this: [code] <?php if(!strstr($_SERVER['REQUEST_URI'], "Special:") && !strstr($_SERVER['REQUEST_URI'], "User:") && !strstr($_SERVER['REQUEST_URI'], "User_talk:") && !strstr($_SERVER['REQUEST_URI'], "Image:") && !strstr($_SERVER['REQUEST_URI'], "action=submit") && !strstr($_SERVER['REQUEST_URI'], "action=edit") && !strstr($_SERVER['REQUEST_URI'], "Template:")) { include("adsense/adsense_horizontal.php"); } ?> [/code]Now, you'll need to create an adsense/ directory in your main wiki directory, and place two files in it, adsense_horizontal.php and adsense_vertical.php as needed.

The contents of my files are as follows:



[b]Paste Google code here[/b]
[/code]adsense_horizontal.php: [code]
[b]Paste Google code here[/b]
[/code]I've found that these layouts fit nicely with the Monobook skin. For the vertical ad, the 120x240 tall format ad works best.


Thanks for the tip.

Alec Usticke
DreamHost referral