常见问题

入口页只写纯文本 URL、不加 a 标签,搜索蜘蛛还会去抓目标 URL 吗?

把目标 URL 直接写成正文里的纯文本,看起来是给蜘蛛指了路,但多数情况下它并不会被当成可跟进链接。本文说明搜索蜘蛛获取链接的常见入口、纯文本 URL 在什么场景下能用,以及想让入口页真正暴露目标地址时该怎么写、怎么验证。

常见问题

入口页只写纯文本 URL、不加 a 标签,搜索蜘蛛还会去抓目标 URL 吗?

做入口页时,有人图省事,直接把目标 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,写法上有几点要注意

  1. 用 a 标签加真实 href,地址写在服务端返回的 HTML 里,而不是靠脚本后填。
  2. 不要只给 data-href 或自定义属性,再由 JS 在点击时跳转,这类写法在多数情况下等同于没有链接。
  3. 不要用 onclick 配 location.href 代替 a 标签。
  4. href 用绝对路径或规范相对路径都可以,但相对路径要确认基线地址没写错,避免解析出错误 URL。
  5. 控制单页链接数量,把重要的目标链接放在正文可见区域,不要全塞进页脚杂项里。
  6. 如果目标地址本身比较重要,除了入口页链接,也可以同时放进 sitemap,两条路径互相兜底。

怎么验证有没有生效

最直接的办法是抓取入口页,看返回的 HTML 源码里到底有没有 a 标签和正确的 href。可以用命令行请求、也可以用站长平台提供的抓取测试,把渲染后的 DOM 和原始 HTML 对比一下,看链接是服务端就有,还是脚本跑完才出现。

接着看日志:入口页被请求之后,短时间内有没有出现目标 URL 的请求记录。如果入口页抓了很多次,目标 URL 一次都没出现,那基本可以判断链接没有被识别,或者被识别但排在队列很后面。

需要提醒的是,被发现、被抓取、被收录是三件不同的事。把链接写对,只解决了第一步;后续还取决于配额、目标页质量和更新节奏。

总结一句:入口页上的链接要用 a 标签写,纯文本 URL 只适合给人看,不适合当作让搜索蜘蛛发现目标地址的手段。想省这一步,往往会用更多时间去排查为什么目标 URL 一直没动静。