Home Webboard ArticlesKnowledges  

ผู้เขียน หัวข้อ: การทำให้แสดง google spider & Yahoo! Slurp or msn bot  (อ่าน 9685 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

Single

  • บุคคลทั่วไป
การทำให้แสดง google spider & Yahoo! Slurp or msn bot
« เมื่อ: 28, มีนาคม 2008, 01:03:53 AM »




สร้างตารางในฐานข้อมูล..ตามโครงสร้างนี้..หรือจะก๊อปอันนี้ไปเปลี่ยนแค่ภาษาที่ท่านใช้แล้ว import เข้ามาเพิ่มในตารางบอร์ดของท่านก็ได้..

โค๊ด: [Select]
--
-- โครงสร้างตาราง `smf_ob_googlebot_stats`
--

CREATE TABLE `smf_ob_googlebot_stats` (
  `agent` varchar(40) NOT NULL default '',
  `board` varchar(20) NOT NULL default '',
  `topic` varchar(20) NOT NULL default '',
  `url` varchar(100) NOT NULL default '',
  `lastvisit` int(10) unsigned NOT NULL default '0',
  `frequency` int(10) unsigned NOT NULL default '0',
  `visits` int(10) unsigned NOT NULL default '0',
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  KEY `agent` (`agent`),
  KEY `board` (`board`),
  KEY `topic` (`topic`),
  KEY `url` (`url`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;//<--ส่วนนี้ที่จะต้องเปลี่ยนหากท่านใช้ thai-utf8 และลบคำอธิบายนี้ออกด้วย..

--
-- dump ตาราง `smf_ob_googlebot_stats`
--


โค๊ด: [Select]
file name index.php

ค้นหา ->>// Load the settings from the settings table, and perform operations like optimizing.
reloadSettings();

เพิ่มไว้หลัง -->>if ($modSettings['ob_googlebot_redirect_phpsessid'] && ob_googlebot_getAgent($_SERVER['HTTP_USER_AGENT'], $spider_name, $agent))
{
$actualurl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$correcturl = preg_replace('/([?&]PHPSESSID=[^&]*)/', '', $actualurl);
$correcturl = str_replace('index.php&', 'index.php?', $correcturl);

if ($correcturl != $actualurl) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $correcturl);
exit();
}
}
------------------------------------------------------------------------------------------------
file name SSI.php

ค้นหา -->>// Load the users online right now.
$result = db_query("

เพิ่มไว้ก่อน-->>global $modSettings;

ค้นหา -->> lo.ID_MEMBER, lo.logTime,

*เพิ่มไว้หลังในบรรทัดเดียวกัน -->> lo.url,

ค้นหา -->> while ($row = mysql_fetch_assoc($result))
{
if (!isset($row['realName']))

เพิ่มไว้ก่อน -->> $return['spiders'] = array();
$return['num_spiders'] = 0;

ค้นหา -->> $return['guests']++;

วางทับของเดิม -->> {
// Get the request parameters..
$actions = [แอท]unserialize($row['url']);

// Is a spider?
$is_spider = ob_googlebot_getAgent($actions['USER_AGENT'], $spider_name, $agent, $row['ID_MEMBER'] == 0);

if (!$is_spider)
$return['guests']++;
else
{
$return['num_spiders']++;

if ($modSettings['ob_googlebot_display_agent'])
$spider_name = $agent;

if ($modSettings['ob_googlebot_count_all_instances'] && $modSettings['ob_googlebot_display_all_instances'])
$return['spiders'][] = $spider_name;
else
$return['spiders'][$agent] = $spider_name;
}
}

ค้นหา ->> if (!empty($return['users']))
{
krsort($return['users']);
$userlist = array_keys($return['users']);
$return['users'][$userlist[count($userlist) - 1]]['is_last'] = true;
}

เพิ่มไว้หลัง -->> // Sort spiders list
ksort($return['spiders']);

// Allowed user to see spiders online?
if (!allowedTo('googlebot_view'))
{
$return['spiders'] = array();
$return['guests'] += $return['num_spiders'];
}

// Don't count all instances of a spider, only 1 for each different spider
if (!empty($return['spiders']) && !$modSettings['ob_googlebot_count_all_instances'])
$return['num_spiders'] = count($return['spiders']);

// Diplay how many instances of each spider
if (!empty($return['spiders']) && $modSettings['ob_googlebot_count_all_instances'] && $modSettings['ob_googlebot_display_all_instances'])
{
$spider_grouped = array_count_values($return['spiders']);

$return['spiders'] = array();
foreach ($spider_grouped as $k => $v)
$return['spiders'][$k] = $k . ($v == 1 ? '' : ' (' . $v . ')');
}

ค้นหา -->> $return['total_users'] = $return['num_users'] + $return['guests'

เพิ่มไว้หลัง -->> + ($modSettings['ob_googlebot_count_most_online'] ? $return['num_spiders'] : 0

ค้นหา -->> $return['guests'], ' ', $return['guests'] == 1

เพิ่มไว้ก่อน -->> (empty($return['spiders']) ? '' : $return['num_spiders'] . ' ' . ($return['num_spiders'] == 1 ? $txt['ob_googlebot_spider'] : $txt['ob_googlebot_spiders']) . ', '),

ค้นหา -->> foreach ($return['users'] as $user)
echo $user['hidden'] ? '<i>' . $user['link'] . '</i>' : $user['link'], $user['is_last'] ? '' : ', ';

เพิ่มไว้หลัง -->> if (!empty($return['spiders']))
{
if ($modSettings['ob_googlebot_display_own_list'])
echo '
<br />';
else
{
if (!empty($return['users']))
echo ', ';
}

echo implode(', ', $return['spiders']);
}
------------------------------------------------------------------------------------------------
file name source/BoardIndex.php

ค้นหา -->> // Load the users online right now.
$result = db_query("
SELECT
lo.ID_MEMBER, lo.logTime, mem.realName, mem.memberName, mem.showOnline,

วางทับของเดิม -->>// Load the users online right now.
$result = db_query("
SELECT
lo.ID_MEMBER, lo.logTime, lo.url, mem.realName, mem.memberName, mem.showOnline,

ค้นหา -- >> $context['num_users_hidden'] = 0;

เพิ่มไวัหลัง -->> $context['spiders'] = array();
$context['num_spiders'] = 0;

ค้นหา -- >> $context['num_guests']++;
continue;

วางทับของเดิม -->> // Get the request parameters..
$actions = [แอท]unserialize($row['url']);

// Is a spider?
$is_spider = ob_googlebot_getAgent($actions['USER_AGENT'], $spider_name, $agent);

if (!$is_spider)
$context['num_guests']++;
else
{
$context['num_spiders']++;

if ($modSettings['ob_googlebot_display_agent'])
$spider_name = $agent;

if ($modSettings['ob_googlebot_count_all_instances'] && $modSettings['ob_googlebot_display_all_instances'])
$context['spiders'][] = $spider_name;
else
$context['spiders'][$agent] = $spider_name;
}

continue;

ค้นหา -->> $context['num_users_online'] = count($context['users_online']) + $context['num_users_hidden'];

วางทับของเดิม -->> ksort($context['spiders']);

$context['num_users_online'] = count($context['users_online']) + $context['num_users_hidden'];

// Allowed user to see spiders online?
if (!allowedTo('googlebot_view'))
$context['spiders'] = array();

// Don't count all instances of a spider, only 1 for each different spider
if (!empty($context['spiders']) && !$modSettings['ob_googlebot_count_all_instances'])
$context['num_spiders'] = count($context['spiders']);

// Diplay how many instances of each spider
if (!empty($context['spiders']) && $modSettings['ob_googlebot_count_all_instances'] && $modSettings['ob_googlebot_display_all_instances'])
{
$spider_grouped = array_count_values($context['spiders']);

$context['spiders'] = array();
foreach ($spider_grouped as $k => $v)
$context['spiders'][$k] = $k . ($v == 1 ? '' : ' (' . $v . ')');
}

ค้นหา -->> $total_users = $context['num_guests'] +

เพิ่มไว้หลัง -->>  ($modSettings['ob_googlebot_count_most_online'] ? $context['num_spiders'] : 0) +

ค้นหา -->> // Set the latest member.

เพิ่มไว้ก่อน -->> // Allowed user to see spiders online (We change stuff here AFTER stats update). Spiders are displayed as guests again.
if (!allowedTo('googlebot_view'))
$context['num_guests'] += $context['num_spiders'];

file name source/ManagePermissions.php

ค้นหา -->> 'profile_remote_avatar' => false,
)

เพิ่มไว้หลัง -->> ,
'googlebot' => array(
'googlebot_view' => false,
)
------------------------------------------------------------------------------------------------
file name source/ModSettings.php

ค้นหา -->> $context['sub_template'] = 'show_settings';

$subActions = array(
'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'karma' => 'ModifyKarmaSettings',

เพิ่มไว้หลัง -->> 'googlebot' => 'ModifyGooglebotSettings',

ค้นหา -->> require_once($sourcedir . '/ManageServer.php');

$subActions = array(
'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'karma' => 'ModifyKarmaSettings',

เพิ่มไว้หลัง -->> 'googlebot' => 'ModifyGooglebotSettings',

ค้นหา -->> 'karma' => array(
'title' => $txt['smf293'],
'href' => $scripturl . '?action=featuresettings;sa=karma;sesc=' . $context['session_id'],

เพิ่มไว้หลัง -->> ),
'googlebot' => array(
'title' => $txt['ob_googlebot_modname'],
'href' => $scripturl . '?action=featuresettings;sa=googlebot;sesc=' . $context['session_id'],

ค้นหา -->> $context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=karma';
$context['settings_title'] = $txt['smf293'];

prepareDBSettingContext($config_vars);
}

เพิ่มไว้หลัง -->> function ModifyGooglebotSettings()
{
global $txt, $scripturl, $context, $settings, $sc;

$config_vars = array(
// Count all instances of spiders?
array('check', 'ob_googlebot_count_all_instances'),
array('check', 'ob_googlebot_display_all_instances'),
array('check', 'ob_googlebot_display_agent'),
array('check', 'ob_googlebot_display_own_list'),
'',
// Count spiders on most online?
array('check', 'ob_googlebot_count_most_online'),
'',
// Redirect PHPSESSID URLs?
array('check', 'ob_googlebot_redirect_phpsessid'),
);

// Saving?
if (isset($_GET['save']))
{
saveDBSettings($config_vars);
redirectexit('action=featuresettings;sa=googlebot');
}

$context['post_url'] = $scripturl . '?action=featuresettings2;save;sa=googlebot';
$context['settings_title'] = $txt['ob_googlebot_modname'];

prepareDBSettingContext($config_vars);
}
------------------------------------------------------------------------------------------------
file name source/Subs.php

ค้นหา -->>function template_footer()
{
global $context, $settings, $modSettings, $time_start, $db_count;

เพิ่มไว้หลัง -->> global $user_info, $db_prefix;

//Googlebot stats - Get info for this page
if ($modSettings['ob_googlebot_stats'])
{
$ob_googlebot_start = isset($context['start'])?$context['start']:'0';
if (isset($context['current_topic'])) // We are on a topic
{
$key = 'topic';
$value = "$context[current_topic].$ob_googlebot_start";
}
elseif (isset($context['current_board'])) // We are on a board
{
$key = 'board';
$value = "$context[current_board].$ob_googlebot_start";
}
else // We are somewhere else
{
$key = 'url';

// Remove PHPSESSID, just in case that the user has it in his URL, to avoid duplicates
$value = "$_SERVER[REQUEST_URI]";
$value = preg_replace('/([?&]PHPSESSID=[^&]*)/', '', $value);
$value = str_replace('index.php&', 'index.php?', $value);
}

$result = db_query("
SELECT lastvisit, frequency, visits
FROM {$db_prefix}ob_googlebot_stats
WHERE $key = '$value'
AND agent = 'Googlebot'
LIMIT 1", __FILE__, __LINE__);
if (mysql_num_rows($result) == 0) //No stats yet.
$lastvisit = $frequency = $visits = 0;
else
list ($lastvisit, $frequency, $visits) = mysql_fetch_row($result);
mysql_free_result($result);

// Is Googlebot? if so, we will update the stats BEFORE displaying it.
if (ob_googlebot_getAgent($_SERVER['HTTP_USER_AGENT'], $spider_name, $agent))
if ($agent == 'Googlebot')
{
$now = time();
$visits++;

if ($visits == 1) // First time, insert new record
db_query("
INSERT INTO {$db_prefix}ob_googlebot_stats
($key, visits, lastvisit, agent)
VALUES
('$value', $visits, $now, '$agent')
", __FILE__, __LINE__);
else
{
if ($visits == 2)
$frequency = $now - $lastvisit; /* This is the SECOND time Google visits this page */
else
$frequency = (($frequency * ($visits - 1)) + ($now - $lastvisit)) / $visits;

db_query("
UPDATE {$db_prefix}ob_googlebot_stats
SET frequency = $frequency, visits = $visits, lastvisit = $now
WHERE $key = '$value'
AND agent = 'Googlebot'
LIMIT 1", __FILE__, __LINE__);
}

$lastvisit = $now;
}

if ($visits > 0)
$context['ob_googlebot_stats'] = array(
'Googlebot' => array('frequency' => $frequency, 'visits' => $visits, 'lastvisit' => $lastvisit)
);
}

ค้นหา -->> ?>

เพิ่มไว้ก่อน -->> //Function to check if the user-agent provided belongs to a spider. Based on getAgent function made by Owdy.
function ob_googlebot_getAgent(&$user_agent, &$spider_name, &$result)
{
$known_spiders = array (
//Search Spiders
array (
'agent' => 'WISENutbot',
'spidername' => 'Looksmart spider',
),
array (
'agent' => 'MSNBot',
'spidername' => 'MSN spider',
),
array (
'agent' => 'W3C_Validator',
'spidername' => 'W3C Validator',
),
array (
'agent' => 'Googlebot-Image',
'spidername' => 'Google-Image Spider',
),
array (
'agent' => 'Googlebot',
'spidername' => 'Google spider',
),
array (
'agent' => 'Mediapartners-Google',
'spidername' => 'Google AdSense spider',
),
array (
'agent' => 'Openbot',
'spidername' => 'Openfind spider',
),

array (
'agent' => 'Yahoo! Slurp',
'spidername' => 'Yahoo spider',
),
array (
'agent' => 'FAST-WebCrawler',
),
array (
'agent' => 'Wget',
),
array (
'agent' => 'Ask Jeeves',
),
array (
'agent' => 'Speedy Spider',
),
array (
'agent' => 'SurveyBot',
),
array (
'agent' => 'IBM_Planetwide',
),
array (
'agent' => 'GigaBot',
),
array (
'agent' => 'ia_archiver',
),
array (
'agent' => 'FAST-WebCrawler',
),
array (
'agent' => 'Inktomi Slurp',
),
array (
'agent' => 'appie',
'spidername' => 'Walhello spider',
),
array (
            'agent' => 'FeedBurner/1.0',
            'spidername' => 'Feedburner',
        ),
        array (
            'agent' => 'Feedfetcher-Google',
        ),
        array (
            'agent' => 'OmniExplorer_Bot/6.68',
            'spidername' => 'OmniExplorer Bot',
        ),
        array (
            'agent' => 'http://www.relevantnoise.com',
            'spidername' => 'relevantNOISE',
        ),
        array (
            'agent' => 'NewsGatorOnline/2.0',
            'spidername' => 'NewsGatorOnline',
        ),
        array (
            'agent' => 'ping.blo.gs/2.0',
        ),
        array (
            'agent' => 'Jakarta Commons-HttpClient/3.0.1',
            'spidername' => 'Amazon',
        ),
          array (
            'agent' => 'Jakarta Commons-HttpClient/3.0-rc2',
            'spidername' => 'Amazon',
        ),
);

foreach($known_spiders AS $poss)
if (strpos(strtolower($user_agent), strtolower($poss['agent'])) !== false)
{
$spider_name = isset($poss['spidername']) ? $poss['spidername'] : $poss['agent'];
$result = $poss['agent'];
return true;
}

return false;
}
------------------------------------------------------------------------------------------------
file name language/Modifications.english.php // or thai-utf8

ค้นหา -->> ?>

เพิ่มไว้ก่อน -->> // Googlebot - Begin
$txt['ob_googlebot_modname'] = 'Googlebot & Spiders';
$txt['ob_googlebot_spider'] = 'Spider';
$txt['ob_googlebot_spiders'] = 'Spiders';
$txt['ob_googlebot_spiders_last_active'] = 'Spiders เข้าใช้งานเมื่อ ' . $modSettings['lastActive'] . ' นาที ที่ผ่านมา';

// ModSettings
$txt['ob_googlebot_count_all_instances'] = 'นับผู้ใช้ทั้งหมดรวม Spider';
$txt['ob_googlebot_display_all_instances'] = 'แสดงผู้ใช้ทั้งหมดรวม Spider <div class="smalltext">("' . $txt['ob_googlebot_count_all_instances'] . '" ต้องเลือก)</div>';
$txt['ob_googlebot_display_agent'] = 'แสดงการกระทำ ชื่อตัวแทน';
$txt['ob_googlebot_display_own_list'] = 'แสดง Spiders ในรายชื่อบัญชี';
$txt['ob_googlebot_count_most_online'] = 'นับรวมใน "ออนไลน์มากที่สุด"';
$txt['ob_googlebot_redirect_phpsessid'] = 'เปลี่ยนทิศทางไป PHPSESSID URLs';

// Stats
$txt['ob_googlebot_stats_lastvisit'] = 'Google เข้าเยี่ยมชมหน้านี้ล่าสุดเมื่อ : ';

// Permissions
$txt['permissiongroup_googlebot'] = $txt['ob_googlebot_modname'];
$txt['permissionname_googlebot_view'] = 'แสดง Googlebot & Spiders';

// Googlebot - End


 



ออฟไลน์ Game-Mun

  • wAtAsHiwA LianG DeS
  • Ju
  • *
  • กระทู้: 39
  • เห็นด้วย&ขอบคุณ: 6
  • เพศ: ชาย
    • Game-Mun.com
Re: การทำให้แสดง google spider & Yahoo! Slurp or msn bot
« ตอบกลับ #1 เมื่อ: 26, มิถุนายน 2008, 11:08:00 PM »
สอบถามนิดครับ เสี่ยงกับ DB รึเปล่าตัวนี้ กลัว DB เจ๊ง

ออฟไลน์ kon accord99

  • J
  • กระทู้: 34
  • เห็นด้วย&ขอบคุณ: 1
Re: การทำให้แสดง google spider & Yahoo! Slurp or msn bot
« ตอบกลับ #2 เมื่อ: 01, กันยายน 2012, 11:34:36 PM »
โครงสร้างตาราง smf_ob_googlebot_stats

ไม่เข้าใจตรงนี้ ว่าสร้างอย่างไรและไว้ตรงไหนครับ

ออฟไลน์ เซียวเหล่งนึ่งฯ

  • Global Moderator
  • *
  • กระทู้: 5547
  • เห็นด้วย&ขอบคุณ: 2148
    • SMFjusthost.com
Re: การทำให้แสดง google spider & Yahoo! Slurp or msn bot
« ตอบกลับ #3 เมื่อ: 03, กันยายน 2012, 12:04:44 AM »
ก็อบโค๊ดในอ้างถึงอันแรก วางในโนตเพจ หรืออีดิตพลัส  เซฟไฟล์ เป็น db.php
จับโยนขึ้นโฮสต์ แล้วไปพิมพ์ที่เบราว์เซอร์    เว็บ.คอม/db.php

 

Sitemap 1 2 3 4 5 6 7 8 9 10 
Back to top