把隐藏链接检测按渠道拆分,核心不是先问“哪个工具能查出来”,而是先确定每个渠道要交付什么结论,再倒推需要哪些资料、由谁执行、用什么证据验收。隐藏链接通常分为站内隐藏链接和外部指向隐藏链接:站内问题多与模板、脚本注入、内容区样式有关,外部问题多与友情链接、外链购买、被恶意挂链有关。按渠道拆开,才能把“发现异常”变成“定位原因并决定处理方式”。
如果交付结果只是“有没有隐藏链接”,一个页面级检查就够了;如果交付结果要支持整改和复测,至少要拆成四类渠道:页面渲染渠道、HTML源码渠道、站内链接关系渠道、外部链接来源渠道。每个渠道交付不同的证据:渲染渠道交付截图或DOM片段,源码渠道交付原始HTML位置,站内关系渠道交付内链路径,外部来源渠道交付来源页与目标页对照。
拆分粒度取决于问题范围。只怀疑某个栏目被挂链,就按栏目拆分;怀疑整站模板被篡改,就按模板、公共脚本、页脚、侧栏拆分。不要一开始就按工具品牌拆分,工具只是采集手段,渠道才是问题来源。
站内隐藏链接最常见的表现是链接在源码中存在,但视觉上不可见,或者只在特定设备、登录状态、交互后才出现。按渠道拆分时,建议至少分三层:
<a>标签,重点看页脚、侧栏、正文底部、模板公共区域。适用条件是怀疑模板或数据库被注入;判断结果是源码有、页面不可见,则属于站内隐藏链接。display:none、visibility:hidden、零尺寸容器、同色文字、负缩进等方式隐藏。适用条件是链接确实存在但用户看不见;判断结果是样式规则导致不可见,则需定位对应CSS或内联样式来源。可执行步骤:先选一个疑似页面,保存原始HTML,再在浏览器中打开开发者工具,搜索http或<a,把源码层和渲染层出现的链接分别记录到同一张表。表中至少包含:链接文字、目标地址、出现位置、是否可见、来源渠道。这样做的目的是把“可能原因”和“已经定位的原因”分开,避免看到一个隐藏链接就断定整站被黑。
外部隐藏链接不一定是自己网站上的隐藏链接,也可能是别人页面用隐藏方式指向你的站点。按渠道拆分时,可以分成:友情链接页、评论或论坛内容、被入侵的第三方页面、聚合或采集页面。不同渠道的核查方法不同:友情链接页看对方是否用隐藏容器放置链接;评论内容看是否被审核后保留;第三方页面看是否存在异常跳转或隐藏锚文本。
判断依据是来源页与目标页的对照关系。若来源页中链接对用户不可见,但对爬虫可见,就属于典型隐藏链接;若链接可见但内容不相关,则更可能是低质量外链,不一定是隐藏链接。这里要区分网页搜索、平台推荐和付费广告:隐藏链接检测主要针对网页搜索和外链关系,不适用于付费广告的展示位置判断。
渠道拆完后,要把任务落到责任人和验收标准上。可以按以下方式拆分:
验收标准要写成可检查的句子,例如“该页面源码中不再出现目标域名”“渲染后DOM与源码链接数量一致”“来源页中该链接已不可见或已删除”。不要用“看起来正常了”作为验收结果。
假设某页面在源码中出现一个指向陌生域名的链接,但页面上看不到。此时不要直接删除模板。先按渠道走一遍:源码层确认链接位置;渲染层确认是否由脚本插入;样式层确认是否被隐藏;站内关系层确认该链接是否出现在其他页面;外部来源层确认该域名是否也指向其他站点。若只有当前页面出现,优先查内容录入和缓存;若多个页面同时出现,优先查公共模板和公共脚本;若来源页不属于自己的站点,则转外部渠道处理。
这套判断的价值在于:它把“隐藏链接检测”从单一工具结果变成可复核的证据链。第三方估算流量、搜索引擎报告与站内统计口径不同,不能单靠某个指标还原搜索算法,也不能保证收录、排名或固定见效时间。能确认的是链接是否存在、在哪个渠道出现、由哪一层产生、谁负责处理。
下一步,选一个疑似页面,按源码层、渲染层、样式层、站内关系层、外部来源层各记录一条证据,再决定是修模板、清内容、改脚本还是联系对方站点处理。