先给结论
搜尋蜘蛛發現新 URL,主要靠解析頁面里的超連結,也就是 a 标簽的 href 属性。如果目标地址只是頁面上一串纯文本,或者挂在一張图片、一個按钮、一段 JavaScript 上,那么被發現、被抓取的概率會明顯下降——不是绝對為零,但不值得依赖。
為什么 a 标簽最稳
主流搜尋引擎在抓取頁面後,大致會做几件事:提取正文、提取連結、把新發現的 URL 放進待抓取队列。連結提取這一步,识別對象基本鎖定在 a 标簽的 href 上,因為這是 HTML 里语义明确、机器最容易判断的“這里指向另一個頁面”。
其他寫法不是完全没机會,但需要引擎額外做文本识別或脚本渲染,属于“有更好,没有也不强求”的部分。
几種常见寫法的實际表現
1. 纯文本 URL
頁面上直接寫 http://example.com/page 這種地址。部分引擎确實會做 URL 抽取,把看起来像網址的字符串识別出来。但這是啟發式判断,邊界比較模糊:带一堆參數的、被中文字符紧贴的、折行断開的,都容易被漏掉。而且就算被识別,優先級通常也低于正式連結。
2. 图片連結
要分两種情况。如果图片本身包在 a 标簽里,href 指向目标頁面,那和文字連結没有区別,能正常被發現。但如果只是用 img 的 src 指向一張图,把目标地址寫在图片文件名里或者图片旁邊,那搜尋蜘蛛拿不到可跳轉的地址。
3. onclick 與 javascript: 伪連結
類似 a href="javascript:void(0)" 再配 onclick 跳轉的寫法,视觉上是可点击的,但對不执行脚本的抓取来说,href 里没有真實地址,等于什么都没给。搜尋引擎的渲染能力在提升,但把“發現 URL”這件事押在脚本执行上,風險很高。
4. 按钮、下拉框、表單提交
用 button 加 JS 跳轉、select 選完再跳轉,這些都属于交互逻辑,不是連結關系。抓取器一般不會去点按钮、選下拉框,也就不會顺着走到目标 URL。
几個容易翻车的细节
- 相對路径寫错:入口頁在深层目錄时,相對路径很容易拼出错誤地址,尽量寫完整的绝對 URL。
- base 标簽影响范围:頁面里寫了 base href,所有相對連結都會以它為基准,一旦寫错,整頁連結集体偏航。
- 锚文本没意义:全是“点击這里”“更多”,連結仍然能被提取,但目标 URL 在主题相關性判断上會吃亏。
- 連結藏在注释或脚本字符串里:這類位置通常不參與連結提取,寫了也白寫。
- 同一目标連結反复出現在頁头頁脚:不算错誤,但額外價值有限,把位置留给正文更划算。
自查用的小清單
- 用“查看網頁源代碼”,而不是看渲染後的頁面效果,確認 a 标簽和 href 真實存在。
- 數一數入口頁里 href 的數量,和目标連結數量對得上吗。
- 把入口頁里的相對路径逐個点開,看是否都能正常跳到目标 URL。
- 對重点目标 URL,用服務器日誌或抓取工具確認是否真的出現過蜘蛛請求。
小结
把目标地址寫成 a 标簽的 href,是最省事也最稳的做法。纯文本、图片、按钮、脚本跳轉這些形式不是完全無效,但都多绕了一层,容易被漏掉。做入口頁时,让連結“長得像連結”,比堆更多花样更重要。
連結能被發現只是第一步,能否被抓取、被收錄,還取决于目标頁质量、响應速度、站点整体情况,没有任何一種寫法可以承诺收錄结果。