原创内容被人搬走,最早发现的往往不是自己,而是读者的一句“这个内容我在别的站也看过”。想在排名掉下去之前拿到主动权,就得有一套自己的判断方法。怎么判断自己的站被镜像了?不用专业工具,看五个特征加一次交叉验证,基本就能定性。先把概念摆正:网站镜像是什么意思,就是把整站内容复制到另一个域名并持续同步,判断的关键就在“像到不正常”这四个字上。
一、五个特征,中两个就该警惕
第一个特征,正文一字不差。随手挑一篇带个人语气、有自己措辞的原创,去对方站上搜同一句话,连你写错的字都一样,基本可以确认。第二个特征,栏目结构和 URL 几乎复制,你的分类是“技术/教程/第 3 页”,对方也是同样的路径层级。第三个特征,对方页面里还留着你的独有标记,比如你的统计代码、联盟广告位、备案号、客服电话,这是镜像程序直接整页复制留下的最大破绽。第四个特征,对方的发布时间比你还早或者和你同步,说明它是定时抓取的。第五个特征,图片直接引用你站上的地址,你在服务器日志里能看到对方域名发来的图片请求。
二、用自有标识做一次交叉验证
光靠肉眼看相似不算证据,要拿可验证的标识去比对。下面这段脚本抓取疑似镜像页面的 HTML,检查里面是否保留了你自己的独有字符串,比如统计代码的 ID、备案号、你特有的客服电话。把 MIRROR 换成疑似镜像地址,OWN_MARKS 换成你站上特有的几段字符串,命中条数越多,说明对方是整页复制,越难辩驳。
# 抓取疑似镜像页面,检查是否残留本站独有的标识字符串
import urllib.request
MIRROR = "https://mirror.example.com/post/1.html" # 改成疑似镜像地址
OWN_MARKS = [ # 改成你站上独有的字符串
"统计代码ID-000000",
"备案号-示例备00000000号",
"400-000-0000",
]
req = urllib.request.Request(MIRROR, headers={"User-Agent": "Mozilla/5.0"})
html = urllib.request.urlopen(req, timeout=15).read().decode("utf-8", "ignore")
hit = 0
for mark in OWN_MARKS:
if mark in html:
hit += 1
print("命中自有标识:", mark)
print("共命中 %d 条,命中 2 条以上基本可认定是整页复制" % hit)
跑完注意一点:对方如果是技术含量高一点的镜像程序,会主动过滤掉统计代码这类容易暴露的标记,这种情况下命中为 0 也不代表没被镜像,要回到第一个特征,用正文逐句比对来做判断。两种方法互相补充,结论才站得住。
三、证据固定与复检节奏
确认之后立刻固定证据:把对方页面完整保存成 HTML 文件,截图保存页面上残留的你的标识,记录访问时间和 URL,再把两份文本的对比结果一起归档,按日期命名。这些材料后面投诉、发函都要用,越早做越好,因为镜像站随时可能把页面撤掉。证据留存之后设一个复检节奏,比如每两周搜一次自己几篇核心原创的特有句子,看有没有新的域名冒出来,镜像站换域名的成本很低,只查一次没有意义。
四、判断完成之后该做什么
定性之后不建议直接跟对方在网上对骂,先做两件技术层面的事:把 canonical 标签补全,明确原始地址;在公共头部加域名校验脚本,让镜像页面被打开时跳回你的站。这两件事做完,再拿证据去搜索引擎提交内容抄袭反馈,走平台流程。对方如果只是抄内容、没有伪造你的品牌去骗用户,处理到这一步基本够用;如果它开始冒用你的品牌名、客服信息做交易,那就是另一个性质的侵权问题,要按仿站维权的路径处理。
相关阅读:
A5创业网 版权所有