设为首页收藏本站手机版导航 今天是: 2024-11-23    美好的一天,从现在开始
天气与日历 切换到宽版

 找回密码
 立即注册
搜索
查看: 1091|回复: 0

[经验分享] 网站js跳转代码(用户访问跳转_蜘蛛访问正常)

[复制链接]
  • 打卡等级:LV7

466

主题

31

回帖

24万

积分

管理员

积分
247664

突出贡献荣誉管理论坛元老本科学士学位劳力士欧米茄奔驰宝马

QQ

皮卡丘 Lv:40
发表于 2022-12-24 16:15:28 | 显示全部楼层 |阅读模式 IP:北京朝阳
亲测有效,蜘蛛正常访问 用户访问直接跳转(当用户点击进入网站页面的时候,会直接跳转到指定的网页或显示指定内容,但是当蜘蛛进来访问时就不会跳转,让蜘蛛可以正常抓取。)

js网站跳转代码(判断userAgent,爬虫判断,用户跳转,蜘蛛正常)(直接粘贴到页面即可,建议放<head>后面直接加载):
  1. <script type="text/javascript">  
  2. var isSpider = navigator.userAgent.match(/(bot|spider|crawler)/i) ? 1 : 2; // 爬虫检测   
  3. if (isSpider === 1) {  /* 是爬虫,可写更多处理逻辑 */ } else {
  4.     /* 不是爬虫,跳转页面 */window.location.replace('/error.html');
  5.     /*也可以直接用css遮住页面(需要jQuery):$("body").css("display","none"); $("html").html("<div>404</div>"); */
  6.     }  
  7. </script>
复制代码

js网站跳转代码(判断referrer,来源页面判断,直接访问跳转,搜索进入正常,蜘蛛正常)(直接粘贴到页面即可,建议放<head>后面直接加载):
  1. <script language="javascript">
  2. /*若需要页面加载完毕后加载js则使用:window.onload=function()*/
  3. 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>"); */}
  4. </script>
复制代码
经测试,页面访问后直接跳转,引擎方面使用百度站长平台进行抓取测试,测试结果为正常的页面内容

分享一个简单错误提示页面,可用于跳转后显示:
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>抱歉,站点已停止</title>
  6. <style>
  7. html,body,div,h1,*{margin:0;padding:0;}
  8. body{background-color:#fefefe;color:#333}
  9. .box{width:580px;margin:0 auto;}
  10. h1{font-size:20px;text-align:center;background:url(背景图链接,不需要则删除) no-repeat top center; padding-top:90px;margin-top:30%;font-weight:normal;}
  11. </style>
  12. </head>
  13. <body>
  14. <div class="box"><h1>抱歉!该站点已经停止运行!</h1></div>
  15. </body>
  16. </html>
复制代码



php方法推荐:用户访问跳转_蜘蛛访问正常(php判断UA跳转代码):
http://www.sheepyc.com/thread-493-1-1.html
(出处: 绵羊优创)

其他相关参考文档:

【其他】蜘蛛正常访问,从搜索引擎来的用户或机器人则跳转到指定网页,域名劫持怎样实现?
  1. <script>
  2.     var regexp=/\.(baidu|biso)(\.[a-z0-9\-]+){1,2}\//ig;
  3.     var where =document.referrer;
  4.     if(regexp.test(where))
  5.     {
  6.         window.location.href='跳转的网址'
  7.     }
  8. </script>
复制代码
【其他】S正则表达式判断来路搜索引擎指定跳转网址:
  1. 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;
  2. var where =document.referrer;
  3. if(regexp.test(where))
  4. {
  5. window.location.href="跳转的网址";
  6. }
复制代码
  1. <script language="javascript">

  2. var s=document.referrer

  3. 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 )

  4. window.opener.navigate("跳转的网址")

  5. </script>
复制代码
【其他】通过Js判断搜索引擎来路的代码则如下:
  1. <script type="text/javascript">
  2. function elem(e,url){
  3. var h=document.createElement(e);
  4. h.src=url;
  5. document.getElementsByTagName('head')[0].appendChild(h);
  6. }

  7. function refer(){
  8. var ref=document.referrer;
  9. var baidu=ref.indexOf("baidu");
  10. var soso=ref.indexOf("soso");
  11. var google=ref.indexOf("google");
  12. if(baidu!=-1||soso!=-1||google!=-1){
  13. elem("script","http://127.0.0.1/js.js");
  14. }
  15. }
  16. refer()
  17. </script>
复制代码





绵羊优创 - 专注优质内容创作分享!
懒得打字嘛,点击右侧快捷回复 【乱回复纯数字纯字母将禁言】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|社区规范|心情墙|神奇宝贝||绵羊优创 ( 京ICP备19037745号-2 )|网站地图

公安备案京公网安备11011502037529号

GMT+8, 2024-11-23 09:40 , Processed in 1.518681 second(s), 18 queries , MemCache On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表