网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

PHP如何判断百度蜘蛛(谷歌蜘蛛)跳转展示不同页面

GG网络技术分享 2025-03-18 16:08 0


网站制作好后,某些特殊原因,如果想让网站的某些页面进行特殊的跳转,例如,如果是百度或者谷歌的搜索引擎蜘蛛,就进行跳转到指定页面。

代码一:判断百度搜索引擎蜘蛛,执行跳转

<?php

if (ereg("http://www.baidu.com/search/spider.htm", $_SERVER["HTTP_USER_AGENT"])){

//判断搜索引擎,执行跳转,这里判断的是百度。

$file = file_get_contents('https://www.ggplus.cn/');

echo $file;//提供给百度蜘蛛抓取的页面,也就是快照。

exit;

}

?>
代码二:判断谷歌搜索引擎蜘蛛,执行跳转

<?php

if (ereg("google.com", $_SERVER["HTTP_USER_AGENT"])){

//判断搜索引擎,执行跳转,这里判断的是谷歌。

$file = file_get_contents('https://www.ggplus.cn/');

echo $file;//提供给谷歌蜘蛛抓取的页面,也就是快照。

exit;

}

?>
代码三:判断如果用户来自百度搜索,执行跳转

<?php

//判断如果用户来自百度搜索,那么跳转

if(stristr ($_SERVER['HTTP_REFERER'],"baidu.com")){

Header("Location: https://www.ggplus.cn/");//指定跳转

exit;

}

?>
代码四:php获取从百度搜索进入网站的关键词代码

<?php

function search_word_from() {

$referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';

if(strstr( $referer, 'baidu.com')){ //百度

preg_match( "|baidu.+wo?r?d=([^\\&]*)|is", $referer, $tmp );

$keyword = urldecode( $tmp[1] );

$from = 'baidu';

}elseif(strstr( $referer, 'google.com') or strstr( $referer, 'google.cn')){ //谷歌

preg_match( "|google.+q=([^\\&]*)|is", $referer, $tmp );

$keyword = urldecode( $tmp[1] );

$from = 'google';

}elseif(strstr( $referer, 'so.com')){ //360搜索

preg_match( "|so.+q=([^\\&]*)|is", $referer, $tmp );

$keyword = urldecode( $tmp[1] );

$from = '360';

}elseif(strstr( $referer, 'sogou.com')){ //搜狗

preg_match( "|sogou.com.+query=([^\\&]*)|is", $referer, $tmp );

$keyword = urldecode( $tmp[1] );

$from = 'sogou';

}elseif(strstr( $referer, 'soso.com')){ //搜搜

preg_match( "|soso.com.+w=([^\\&]*)|is", $referer, $tmp );

$keyword = urldecode( $tmp[1] );

$from = 'soso';

}else {

$keyword ='';

$from = '';

}

return array('keyword'=>$keyword,'from'=>$from);

}

//以下为测试

//在搜索引擎搜索个关键词,进入网站

$word = search_word_from();

if(!empty($word['keyword'])){

echo '关键字:'.$word['keyword'].' 来自:'.$word['from'];

}

?>

标签:

提交需求或反馈

Demand feedback