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. The following solution will cause ads to not be displayed on Special, User, User talk, Image, Template, and edit/preview 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:
Quote:
echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
?>"><?php $this->msg($special) ?></a></li><?php } ?>
<?php } ?>
</ul>
</div>
</div>
|
put this:
Quote:
<?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");
}
?>
|
For a horizontal ad at the bottom of your articles, after this:
Quote:
<?php if($this->data['catlinks']) { ?><div id="catlinks"><?php $this->html('catlinks') ?></div><?php } ?>
<!-- end content -->
<div class="visualClear"></div>
|
put this:
Quote:
<?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");
}
?>
|
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:
adsense_vertical.php:
Quote:
<div id="p-advertisement" class="portlet">
<h5>Advertisement</h5>
<div class="pBody">
Paste Google code here
</div>
</div>
|
adsense_horizontal.php:
Quote:
<div style="border: 1px solid #ccc; padding: 1px; margin-top: 25px;">
Paste Google code here
</div>
|