网站被劫持跳转,你打开后台发现排名全没了
刚点开自己网站,页面一卡,直接蹦到博彩页——不是幻觉,是真被黑了。
别急着删库跑路,先稳住:流量还在进,但用户全被拐走,排名正往下掉,Google站长工具的警告邮件可能还没到,但你的网站已经成了别人的广告牌。
为什么你的网站会被劫持?3个最常见的原因
插件漏洞
一个做外贸的朋友,装了个免费在线客服插件,半年没更新。某天他发现咨询量归零,顺手查访问日志,才发现半夜有几十个陌生IP反复刷后台登录页。最后定位到插件里一段被注入的跳转代码,藏在functions.php末尾,伪装成“统计脚本”。
弱密码
别笑,真有人用admin+123456当后台账号。黑客扫一遍共享主机,三分钟拿下权限。更阴的是,他们不马上动手,先挂个隐身管理员,等你发新品、涨权重,再深夜悄悄加跳转规则——有个地方资讯站被劫持两个月,只在凌晨2点到5点跳转,白天一切正常。
服务器环境不安全
共享主机就像合租公寓。隔壁网站被黑,黑客顺着服务器权限一路摸进来,在你网站根目录下新建个叫/wp-content/cache/的假文件夹,塞进跳转脚本。我见过一台服务器上12个站同时中招,跳转目标全是同一个赌博域名。
紧急处理第一步:切断跳转,别让用户继续受害
立刻打开你常用的文件管理器(比如宝塔面板的文件管理,或FTP工具),搜这几个关键词:header、Location、window.location。
重点盯三个地方:
- 主题下的
functions.php(尤其末尾几行) .htaccess文件(Apache用户必查,找RewriteRule后面跟着的陌生网址)- 如果用Nginx,去
nginx.conf里翻location块,看有没有指向异常域名的重定向
数据库也得查。用phpMyAdmin打开wp_options表,搜索base64_decode和eval——这两个词在正规网站里几乎不会出现。搜到就点开对应字段,十有八九是木马。
做完这些,清空浏览器缓存,用无痕模式重新打开首页。如果不再跳转,说明表面跳转链断了。但记住:这只是割掉了伤口上的腐肉,刀口还藏着。
紧急处理第二步:彻底清理后门,别让黑客卷土重来
重置所有管理员密码
不是改一个,是全部。用密码生成器造16位以上随机密码,别重复用。顺手在WordPress后台启用双因素认证(插件用Wordfence或Google Authenticator就行,不用额外注册新平台)。
扫一遍最近改过的PHP文件
在服务器终端执行这行命令(把/你的网站目录换成真实路径):
find /你的网站目录 -name "*.php" -mtime -7
如果看到某个cache.php或update.php被修改过,但你根本没动它——打开看看开头是不是多了一段<?php @eval(,或者结尾多了base64_decode(。删掉整段。
检查定时任务
运行 crontab -l,看有没有类似 */30 * * * * php /xxx/malware.php 这样的记录。有就删,别手软。
紧急处理第三步:加固网站,堵住所有可能的漏洞
更新,必须更新
WordPress核心、所有激活的插件、正在用的主题——全升到最新版。别信“老版本稳定”,漏洞不会因为你没升级就自动消失。那些5.0以下的老站,现在等于大门敞开。
删掉所有闲置内容
后台里那些“下载了但没启用”的插件、换下来没删的主题,全清掉。黑客专挑这种没人管的角落下手——我帮人排查时,发现一个停用两年的SEO插件,作者早不维护了,里面埋的跳转代码还在静默运行。
调低文件权限
用FTP或宝塔面板批量改权限:
- 所有
.php文件设为644 - 所有文件夹设为
755 - 绝对不要留
777的文件或目录,那是给黑客开的后门。
加一层防护
Cloudflare免费版就能挡掉大部分扫描和爆破。在DNS设置里把网站接入,开启“代理状态(橙色云朵)”,再打开“WAF”里的基础规则。WordPress站点顺手装个Wordfence,让它每天自动扫描文件完整性——改了哪行代码、多了哪个文件,它比你还先知道。
紧急处理第四步:提交申诉,恢复搜索排名
清理完别急着发新文章。先去Google Search Console,点「安全问题和人工处置」,看有没有红色警告。如果有,说明Google已把你标为“被黑网站”,搜索结果基本清零。
申诉前务必确认三点:
- 用「网址检查」工具测首页和几个关键页面,状态码是200,且页面源码里没有陌生域名
.htaccess、数据库、主题文件都已清理干净- 后台没残留可疑用户,密码全部重置
写申诉说明时,别套模板。就老老实实写:
“X月X日发现跳转,当天清除了
.htaccess中的恶意RewriteRule,删除了数据库中wp_options表里的base64_decode字段,重置全部管理员密码并启用双因素认证……”
越具体,审核越快。
百度那边流程类似,在百度搜索资源平台提交「被黑站点申诉」。注意:百度对博彩类跳转反应更快,但恢复周期也更长,清理完别干等,先靠微信公众号、老客户群这些渠道把流量稳住。
紧急处理第五步:建立日常监控,别再等收到警告才行动
每天花3分钟看访问日志
重点关注两类请求:
- 访问
/wp-login.php但失败次数超10次的IP - 大量请求
/wp-admin/admin-ajax.php或不存在的.php文件的IP
这类行为90%是暴力扫描,记下IP,直接在宝塔或Cloudflare里拉黑。
首页健康度自动提醒
拿现成的cURL脚本每天扫一次首页(网上搜“curl check homepage uptime”就有),只要返回不是200,或页面里出现“casino”“bet”这类词,立刻邮件通知你。不用写代码,复制粘贴就能跑。
定期查外链
用Ahrefs或百度站长平台的「外链分析」功能,每月看一次。如果突然冒出一堆指向赌博站的隐藏链接(比如<a href="xxx" style="display:none">),马上用Google Search Console的「拒绝外链」工具提交,别拖。
今天就能做的具体操作
打开你正在用的主机控制面板(宝塔、cPanel或FTP工具),找到网站根目录下的.htaccess文件,右键下载备份。
然后打开它,删掉所有内容,只留下这一行:
RewriteEngine On
保存,刷新网站首页。如果跳转消失了,说明问题就出在这里。
接下来,把备份文件里的内容一行行粘回去,每粘3–5行就刷新一次首页,直到跳转重现——那一段就是被篡改的代码,删掉它。
搞定后,立刻在宝塔或主机后台修改FTP密码、数据库密码,再去WordPress后台把所有插件和主题更新到最新版。
全程不用半小时,但能抢回你的用户和排名。