网站流量突然暴跌。每天守着统计后台,看着数字往下掉,那种感觉像钝刀子割肉。你试了所有能想到的办法——更新内容、发外链、调整关键词密度。都没用。
更诡异的是,有时候在谷歌搜索自己网站的品牌词,排名还在。但流量就是没了。打开网站看起来一切正常,代码也没什么明显问题。
这是很多站长遇到过,却说不清楚怎么回事的状况。
谷歌蜘蛛劫持。
不是黑客改你网站内容那么粗暴。他们更聪明,手法更隐蔽。这篇文章不说那些网上抄来抄去的定义,直接讲清楚这玩意到底怎么运作的,以及你怎么靠自己把它揪出来。
劫持的真相:不是抢,是“换”
大多数人理解错了。以为劫持是黑客把网站控制权抢走了。不是这样。
真正的谷歌蜘蛛劫持,核心在于访问者与搜索引擎的“身份”差异。
黑客在你的服务器层面,或者代码层面,植入了一段判断逻辑。这段逻辑的作用是:看来的是谁。如果是谷歌的抓取爬虫(Googlebot),返回给它一套精心伪装过的、充满关键词和链接的“干净”页面,让谷歌觉得你网站质量高、相关性强。如果是普通用户访问,跳转到另一个页面——可能是博彩、可能是仿冒品、也可能是别的垃圾站点。
这就是“ cloaking ”,搜索引擎明确禁止的行为。
你每天检查网站,看到的内容都是正常的。因为你用的是浏览器,不是谷歌蜘蛛。你永远不会触发那个跳转条件。所以在你的视角里,网站安然无恙。
为什么你很难发现?
因为实施劫持的入口,远比想象的多。
很多人的第一反应是查网站文件。但劫持代码可能藏在.htaccess文件里,藏在nginx的配置里,甚至藏在CDN的某个设置里。更高级的做法,是劫持你使用的第三方插件、主题文件里的加密部分。
有个真实案例。一个做外贸的站点,流量持续半年缓慢下降。站长反复检查服务器日志,没有发现任何异常文件修改。后来查出来,问题出在一个早就停用、但文件没删干净的旧插件里。插件里有个base64_encode编码的长字符串,解码后就是一段针对搜索引擎的跳转逻辑。
你以为删了插件就没事了。但只要文件还在服务器上,黑客利用的漏洞没补上,那段代码就能一直运行。
三个关键判断方法
不想被蒙在鼓里,得用搜索引擎的眼光看自己的网站。
第一,抓取模拟。
谷歌Search Console里有个“抓取并查看”功能,或者用第三方SEO工具里的“蜘蛛模拟器”。把你的URL放进去,看返回的页面源码,和你用浏览器右键“查看网页源代码”看到的,是不是同一份。如果发现有隐藏的链接、自动跳转的JavaScript代码,或者大量莫名其妙的关键词堆积,基本可以确定中招了。
第二,服务器日志审查。
这需要一点技术耐心。下载最近几天的原始访问日志,用文本编辑器打开,搜索“Googlebot”这个关键词。找到谷歌蜘蛛访问过的记录,重点看它访问时的服务器返回码(200表示成功)以及返回的页面大小。把返回的页面大小,和你正常页面的大小做个对比。如果相差悬殊,比如正常页面50KB,谷歌抓取时返回的只有5KB,那就极其可疑。那5KB很可能就是一段跳转代码。
第三,对比抓取频率。
如果某个页面或者某个目录,被谷歌抓取的频率突然异常升高,也可能是信号。黑客为了让伪造的页面尽快被收录,会通过大量垃圾外链等手段,引诱谷歌频繁抓取。在Search Console的“抓取统计信息”里,如果看到某个时间点抓取量出现不正常波峰,需要警惕。
清除不是删文件那么简单
很多人发现劫持代码,直接删掉,以为完事了。过几天,代码又回来。为什么?因为入口没堵上。
劫持代码只是症状,不是病根。病根是服务器有漏洞,黑客能再次上传文件,或者修改配置。
正确的做法是:
-
断网隔离。一旦确认被劫持,立刻暂时关闭网站,或者把网站文件从服务器下载到本地。切断黑客远程控制的可能性。
-
全量排查。不只是查web目录。所有账号密码(服务器、FTP、数据库、CMS后台)、所有第三方服务的API密钥、所有插件和主题,全部查一遍。密码全部重置,密钥全部更新。不用的插件、主题、文件,全部彻底删除。
-
回溯时间点。通过服务器日志,找到网站第一次出现劫持代码的大概时间。回想那段时间做了什么操作?安装了新插件?更新了某个程序?请人修改过网站?那个点,很可能就是漏洞被利用的入口。
-
恢复+监控。用干净的备份恢复网站。恢复后,安装文件监控软件,监控核心文件和目录的任何改动。一旦有变化,立即报警。
有个做电商的朋友,网站反复被劫持三次,每次都是删代码了事。第四次我帮他查,发现是他用的一个图片处理插件,有个已知的远程代码执行漏洞,版本一直没升级。黑客通过上传一张精心构造的图片,就能在服务器上执行任意命令,植入劫持代码。后来升级了插件,问题才彻底解决。
劫持背后的利益链
谁在做这些事?不是闲得无聊的黑客。背后是成熟的灰黑产利益链。
有人专门扫描互联网上有漏洞的网站,然后挂上劫持代码,再把“劫持到的流量”卖给下游的广告联盟、菠菜网站、仿牌电商。作为流量主,你辛苦引来的谷歌权重,成了他们赚钱的工具。你的流量损失,就是他们的收入。
更麻烦的是,如果谷歌发现你网站存在cloaking行为,惩罚的是整个域名。轻则排名下降,重则直接K站(从索引中移除)。到时候你就算清除了劫持代码,想恢复权重,也得花几个月甚至更久。
最后一个角度:劫持者怎么选目标?
不是只有大网站才被盯上。恰恰相反,权重中等、更新不频繁、服务器安全配置不高的网站,是重灾区。
这种网站有一定权重,劫持带来的流量价值高。同时,网站管理员往往安全意识不够,不会天天盯着日志看。黑客挂上代码后,能潜伏很长时间,慢慢吸血。
如果你发现自己网站流量没理由地一直掉,关键词排名还在,但点击少了。别光想着更新内容。用上面说的三个方法,给自己网站做个体检。有时候,问题的根源不在你不够努力,而在于有人在背后偷偷动了手脚。
