Skocz do zawartości

Małe zmiany dla robotów


Rekomendowane odpowiedzi

Witam

W związku z tym, że boty indexujące MSN i Yahoo skończyły działalność (na rzecz Bing) pomyślałem o zmianie dla robotów indeksujących dla "miniaczy". Więc zmieniłem plik "robots_counter.php pomiędzy <? ?>na:

$flExists = FALSE;
$RobotDB = "rob.db";
$RobotArray = array("googlebot", "bingbot", "ia_archiver");
$CurrentPage = md5($_SERVER['REQUEST_URI']);
$CurrentBot = strtolower($_SERVER['HTTP_USER_AGENT']);
if(preg_match(sprintf("/%s/", join("|", $RobotArray)), $CurrentBot)) {
foreach($RobotArray as $key => $value) {
 if(preg_match(sprintf("/%s/", $value), $CurrentBot)) {
	 break;
 }
}
if(file_exists($RobotDB) && (is_readable($RobotDB) && is_writable($RobotDB))) {
 $DBHandle = fopen($RobotDB, "r+");
 if(is_resource($DBHandle) && flock($DBHandle, LOCK_EX)) {
	 $Line = fgets($DBHandle, 61);
	 while(!feof($DBHandle)) {
		 $PageInfo = unpack("A32Page/Vgooglebot/Vbingbot/Via_archiver", base64_decode($Line));
		 if(preg_match(sprintf("/%s/", $CurrentPage), $PageInfo['Page'])) {
			 $flExists = TRUE;
			 $CurrentPos = ftell($DBHandle);
			 fseek($DBHandle, 0, SEEK_END);
		 }
		 $Line = fgets($DBHandle, 61);
	 }
	 if(!$flExists) {
		 fseek($DBHandle, 0, SEEK_END);
		 $PageInfo = array_merge($CurrentPage, array('googlebot' => 0, 'bingbot' => 0, 'ia_archiver' => 0));
	 }
	 else {
		 fseek($DBHandle, ($CurrentPos - 60), SEEK_SET);
	 }
	 $PageInfo[$RobotArray[$key]] = $PageInfo[$RobotArray[$key]] + 1;
	 // print_r($PageInfo);
	 fwrite($DBHandle, base64_encode(pack("A*VVV", $CurrentPage, $PageInfo['googlebot'], $PageInfo['bingbot'], $PageInfo['ia_archiver'])));
	 flock($DBHandle, LOCK_UN);
 }
 fclose($DBHandle);
}
}
else {
if(file_exists($RobotDB) && is_readable($RobotDB)) {
 $DBHandle = fopen($RobotDB, "r");
 if(is_resource($DBHandle)) {
	 $Line = fgets($DBHandle, 61);
	 while(!feof($DBHandle)) {
		 $PageInfo = unpack("A32Page/Vgooglebot/Vbingbot/Via_archiver", base64_decode($Line));
		 if(preg_match(sprintf("/%s/", $CurrentPage), $PageInfo['Page'])) {
			 $flExists = TRUE;
			 $CurrentPos = ftell($DBHandle);
			 fseek($DBHandle, 0, SEEK_END);
		 }
		 $Line = fgets($DBHandle, 61);
	 }
 }
 fclose($DBHandle);
 if(!$flExists) {
	 $PageInfo = array('googlebot' => 0, 'bingbot' => 0, 'ia_archiver' => 0);
 }
}
}

I w pliku "robots.php" zamieniłem odpowiedni wpis na:

include('robots_counter.php');
echo'
<div class="robots"><b>WIzyty botów na tej stronie : </b>
<img src="otwarty_tpl/'.$cfg['user_tpl'].'/img/robot_google.png" alt="ilość wejść robota google" title="ilość wejść robota google.com" />
<font>'. $PageInfo['googlebot'] .'</font>
<img src="otwarty_tpl/'.$cfg['user_tpl'].'/img/robot_bing.png" alt="ilość wejść robota bing" title="ilość wejść robota bing.com" />
<font>'. $PageInfo['bingbot'] .'</font>
<img src="otwarty_tpl/'.$cfg['user_tpl'].'/img/robot_alexa.png" alt="ilość wejść robota alexa" title="ilość wejść robota alexa.com" />
<font>'. $PageInfo['ia_archiver'] .'</font>';

Pozostaje jeszcze dodanie obrazka "robot_alexa.png" i wszystko.

W miniaczu v.2 oczywiście też można.

Pozdrawiam

Zostałem zbanowany bo miałem multikonta

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności