1
Request #1We need a control table for robots and spiders, so we can authorise things like googlebot.com to access areas that are otherwise off limits to anonymous users.
I have done this alter line 315 in include\common.php to this statement:
$moduleperm_handler =& xoops_gethandler('groupperm');
if ($xoopsUser) {
if (!$moduleperm_handler->checkRight('module_read', $xoopsModule->getVar('mid'), $xoopsUser->getGroups())) {
if (!friendlybot()){
redirect_header(XOOPS_URL."/user.php",1,_NOPERM);
exit();
}
}
$xoopsUserIsAdmin = $xoopsUser->isAdmin($xoopsModule->getVar('mid'));
} else {
if (!$moduleperm_handler->checkRight('module_read', $xoopsModule->getVar('mid'), XOOPS_GROUP_ANONYMOUS)) {
if (!friendlybot()){
redirect_header(XOOPS_URL."/user.php",1,_NOPERM);
exit();
}
}
}
and included a file in include called bots.php which looks like:
function friendlybot(){
global $xoopsDB;
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$sql = "SELECT bottype FROM ".$xoopsDB->prefix("bot");
$ret = $xoopsDB->query($sql);
$state=false;
while ($row = $xoopsDB->fetchArray($ret)){
if (strpos(" ".$hostname,$row['bottype'])>0&&(strpos(" ".$hostname,$row['bottype'])+strlen($row['bottype']))==strlen($hostname)){
$state=true;
}
}
return $state;
}
Still needs some security improvements like using a different matching method or checking that it is an authorised robot..
I could also have a system where you could assign a username to either one or more than one bot, so it starts a logged in session for (remember most spiders don't have cookies).. With a possible rank for it called something like 'Automonous Task'..
This was more the quick and dirty method I made for it. Maybe you could also add an extra
basename check into it. This means you content will be in the search engines but it will encorage users to register to gain access to the material.
Request #2Sitemap Control method like backend.php see
SEO Tip #0 Example sitemaps:
http://www.chronolabs.org.au/sitemap.phphttp://www.seo-solutions.co.in/sitemap.phphttp://www.pettrade.com.au/sitemap.phphttp://www.extraterrestrialembassy.com/sitemap.phpand so on
Request #3Skype and gmail username added to the userinfo profile... come on fellas it is on 2 extra field
and that the user url only displays basename() to prevent massive blow outs of field width.. Maybe also another URL for Personal Blogs also using basename(url).
Request #4More Smiling People