做入口页时,有人图省事,直接把目标 URL 原样贴在正文里,例如「更多地址:example.com/page/123」,既不加 a 标签,也不做成可点击链接。这样写,搜索蜘蛛还会顺着这个地址去抓目标 URL 吗?多数情况下,答案是不会把它当成一条可跟进的链接。
先给结论:纯文本 URL 基本不算链接入口
搜索蜘蛛解析一个页面时,是在 HTML 结构里按标签提取 URL,而不是像人读文章那样从文字里猜地址。一个不带任何标签的字符串,对解析器来说就是普通文本节点,不会进入待抓取队列。
也就是说,如果入口页上关于目标 URL 的全部信息都只是纯文本,那么这条 URL 的发现就基本指望不上这个页面的链接部分了——除非它同时还出现在 sitemap、其他页面的 a 标签、或者正文被自动链接化的场景里。
搜索蜘蛛一般从哪里拿到新链接
- a 标签的 href:最主要、最稳定的来源。
- link、img、script、iframe 等标签的 src/href:图片、样式、脚本、框架资源地址。
- 页面本身的地址:从已抓页面出发做同域扩展。
- sitemap 文件里的 loc:另一条独立的发现路径。
- HTTP 响应头中的链接字段:部分实现会读取。
- 渲染后 DOM 中的 a 标签:取决于该引擎是否执行页面脚本。
可以看到,纯文本节点不在这个清单里。搜索蜘蛛不会因为正文出现了一个类似域名的字符串,就默认它是一条要去抓的链接。
为什么有人觉得纯文本也能被识别
这种印象通常来自三种情况。
- 部分搜索引擎会对正文中的地址做自动识别和链接化,但触发规则、生效范围都不公开,不同站点、不同页面表现也不一样,不能当成可依赖的投放方式。
- 你在日志或站长平台里看到目标 URL 被抓了,功劳其实来自 sitemap、其他入口页的 a 标签,或者目标 URL 曾经被别处引用过。
- 人工浏览时浏览器或编辑器会把地址变成可点链接,让人误以为源码里也是链接。
纯文本 URL 也不是完全没用
在少数场景里,它反而是更合适的写法:写给真人看的说明文字、不想给某个地址传递链接关系、或者希望页面整体外链数量保持低调时,纯文本确实能避免被当成一条链接。但前提是你要清楚代价——这条地址的发现就得靠别的渠道补上。
想让入口页真正暴露目标 URL,写法上有几点要注意
- 用 a 标签加真实 href,地址写在服务端返回的 HTML 里,而不是靠脚本后填。
- 不要只给 data-href 或自定义属性,再由 JS 在点击时跳转,这类写法在多数情况下等同于没有链接。
- 不要用 onclick 配 location.href 代替 a 标签。
- href 用绝对路径或规范相对路径都可以,但相对路径要确认基线地址没写错,避免解析出错误 URL。
- 控制单页链接数量,把重要的目标链接放在正文可见区域,不要全塞进页脚杂项里。
- 如果目标地址本身比较重要,除了入口页链接,也可以同时放进 sitemap,两条路径互相兜底。
怎么验证有没有生效
最直接的办法是抓取入口页,看返回的 HTML 源码里到底有没有 a 标签和正确的 href。可以用命令行请求、也可以用站长平台提供的抓取测试,把渲染后的 DOM 和原始 HTML 对比一下,看链接是服务端就有,还是脚本跑完才出现。
接着看日志:入口页被请求之后,短时间内有没有出现目标 URL 的请求记录。如果入口页抓了很多次,目标 URL 一次都没出现,那基本可以判断链接没有被识别,或者被识别但排在队列很后面。
需要提醒的是,被发现、被抓取、被收录是三件不同的事。把链接写对,只解决了第一步;后续还取决于配额、目标页质量和更新节奏。
总结一句:入口页上的链接要用 a 标签写,纯文本 URL 只适合给人看,不适合当作让搜索蜘蛛发现目标地址的手段。想省这一步,往往会用更多时间去排查为什么目标 URL 一直没动静。