相信很多SEOER在调用广告的时候都会遇到页面跳转的问题,常用的方式有JS使用 frame 框架调用,或者通过JS代码实现页面跳转到广告页面。
我们先来了解下爬虫的一个抓取过程:
了解了整个网站收录到释放的过程,那么对于seoer一些常用的JS调用的广告有什么弊端呢?
那么这也的问题能可以避免呢?
当然是可以的,我们从思路上去调整,而不再是从JS代码技术上去用技术避免跟踪。
下面这段代码是PHP根据爬虫来判断是否需要展示广告页面。
也就是说,当是用户访问的时候,我们展现广告页面,是爬虫来拜访的时候我们就给到它作品的数据或者直接拒绝。
php代码分享如下,供参考:
if(isset($_SERVER['HTTP_USER_AGENT'])){
$USER_AGENT = strtolower($_SERVER['HTTP_USER_AGENT']);
if (stripos($USER_AGENT, strtolower("Baiduspider")) !== false || stripos($USER_AGENT, strtolower("360Spider")) !== false || stripos($USER_AGENT, strtolower("Sogou")) !== false || stripos($USER_AGENT, strtolower("YisouSpider")) !== false) {
} elseif (stripos($USER_AGENT, "bot") !== false || stripos($USER_AGENT, "spider") !== false || stripos($USER_AGENT, "slurp") !== false || stripos($USER_AGENT, "altavista") !== false || stripos($USER_AGENT, "ia_archiver") !== false) {
exit("");
} else {
$client = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile', 'MicroMessenger');
if (preg_match("/(" . implode('|', $client) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
$content = file_get_contents('https://www.ad.com/m/');
exit($content);
} else {
$content = file_get_contents('https://www.ad.com/');
exit($content);
}
}
}
?>
思路分析如下:
代码只是一个例子,参考这样的思路,可以尽情发挥。
需要解释的一点是,在调用 ad 页面的时候,为什么要使用 file_get_contents() 方法,而不是直接用路径来调用页面,这是因为,如果我们的网站很多,尤其是有大量站qun的时候,几百几千个网站的时候,这时候我们就不能再一个个去添加ad页面,我们可以使用统一调用一个ad页面来统一管理。