网站图标实测:27 个首页全都声明了,5 个根路径是 404

网站图标教程只教一句「丢到根目录」。27 个首页实测下来:全部在 HTML 里声明了图标且地址全部有效,反而有 5 个站的 /favicon.ico 返回 404。

排名与引用5 分钟读完1674 次阅读
网站图标实测:27 个首页全都声明了,5 个根路径是 404

实测 · 2026-08-23 · 27 个首页 · 单次抓取 · 逐个解析图标

样本 / 口径:2026-08-15 以来一直在用的那批 30 个站,2026-08-23 当天每个首页抓一次,浏览器 UA。收集所有带 icon 类 rel<link>,然后对每个站再发两次请求:它声明的第一个图标,以及根路径下的 /favicon.ico

网站图标这件事,中文教程通常一句话讲完:把 favicon.ico 丢到根目录。这批样本里这句话错了两次。27 个首页全都在 HTML 里声明了图标,声明的地址无一失效;而其中 5 个站的根路径 /favicon.ico 返回 404。干活的是那行声明,根目录那个文件只是兜底,而且新一点的站已经不放了。

怎么测的

每站一次首页请求,不渲染、不重试。纳入规则跑数前写死:状态 200、响应体不小于 10,000 字节、含 <body。30 个里 3 个没过 —— stackoverflow.commedium.com 返回 403,www.reddit.com 返回 8,393 字节的空壳 —— 剩 27 个,与前几批被剔的是同样三个。

从返回的 HTML 里记下每个 relicon<link>,连同它的 hrefsizestype。然后每站跟进两次请求。我们读的是声明,不是像素 —— 一张图片都没有解码,所以下面所有尺寸都是站点自己写的,不是文件实际的宽高。

Google 对网站图标的要求只有四条

Google 的 favicon 文档(页面标注 2026-02-04 更新,2026-08-23 读)比围绕它写的教程短得多。真正起作用的就四条。

要求文档原话
写进 HTML<link> 加到首页的 header 里
形状与尺寸「a square (1:1 aspect ratio) that's at least 8x8px」,建议大于 48x48
可被抓取「Googlebot-Image must be able to crawl the favicon file」
地址稳定「The favicon URL must be stable (don't change the URL frequently)」

有两处细节在转述里经常丢掉。流传很广的「必须是 48 像素的整数倍」在这份文档的当前版本里已经不存在了 —— 现在的下限是 8x8,48 只是建议值。另一处是每个主机名只认一个图标:「Google Search only supports one favicon per site, where a site is defined by the hostname.」声明十八个,不等于有十八个。

放根目录是习惯,写 link 才是指令。

没有一个站漏了图标,五个站漏了根文件

27 个首页全都声明了至少一个图标 link,全样本 122 个,每站中位 3 个。只声明 1 个的有三家 —— nextjs.orgnews.ycombinator.comslack.comsupabase.com 声明了 18 个,全部指向同一个 /favicon/ 目录。

检查项站数细节
声明了图标27 / 27合计 122 个 link
首个图标返回 20027 / 27没有一个坏声明
根路径 4045 / 27notion、figma、discord、supabase、framer
写了 sizes18 / 279 个一个都没写
最大声明尺寸低于 483 / 27mozilla、netlify、substack,均 32x32

这 5 个没有根文件的站都是近几年做的产品站,而且五个的 HTML 声明全都有效,所以它们一个都没问题 —— supabase.com 指的是 /favicon/favicon.ico,那个地址返回 200、417 字节,而裸根路径 404。两条路本来就没关系。如果你的方案只有「丢个文件到根目录、从不在 HTML 里提它」,那这套方案离出事只差一次部署改动。

尺寸:写了什么和文件是什么,是两件事

27 个里有 9 个一个 sizes 都没写。这合法,只是等于什么都没告诉 Google。写了的 18 个里,最大方形尺寸从 32 到 512,最大的是 www.theverge.com。有 3 个站最大只到 32x32,低于 Google 建议的值。

还有一个站的尺寸里那个字符不是 xwww.nytimes.com 的两个 apple-touch-icon-precomposed 写的是 sizes="144×144"sizes="114×114",中间是乘号 U+00D7,不是字母。这不是合法的尺寸写法,所以这两条声明其实一点尺寸信息都没带。它别的图标都正常,这是模板里的一个错字,不是线上故障 —— 而这种东西正因为没有任何工具会报,才能活很多年。

三个 Google 没列的 rel 值

Google 列了四个它支持的值:iconshortcut iconapple-touch-iconapple-touch-icon-precomposed。样本里还出现了三个它没列的 —— mask-icongithub.comwww.theverge.comwww.bbc.comalternate icongithub.comwww.bbc.comfluid-icon 只有 github.com 一家。

这些都不是错。mask-icon 是 Safari 固定标签页用的,fluid-icon 属于一个 macOS 应用壳,跟搜索没关系。写在这里只是为了别在自查时把它们当成报错:GitHub 声明了四个图标 link,其中只有一个是 Google 会读的那种。

这对你的站意味着什么

三条检查,按它们出问题的先后排。

  • 首页里写上 <link rel="icon">,然后从公司网络之外确认那个地址返回 200。这批样本 27 个站全过,所以没过就特别显眼。
  • 让这个地址在多次部署之间保持不变。Google 明确要求,而给静态资源文件名加指纹的构建工具正好和这条相反。
  • 别只靠 /favicon.ico。27 个大站里有 5 个已经不发它了,而 Google 文档也没承诺没有声明也能找到。

图标是决定一条结果长什么样的东西里最小的一个。更大的两个是标题和摘要,方法写在 seo 标题和描述怎么写 那一篇。同一个问题的机器可读那一面 —— 这个站声明自己是谁 —— 见 json-ld 里到底该写谁。想要整条诊断路径而不是逐个元素看,从这里开始

常见问题

你们是怎么测的

2026-08-23 每站一次首页请求,另加两次跟进请求:它声明的第一个图标,以及 /favicon.ico。声明从返回的 HTML 里读,不执行 JavaScript,也没有解码任何一张图片。

网站图标影响排名吗

Google 文档把它归在搜索结果外观,不是排名因素,还补了一句:即使全部符合规范,图标也「isn't guaranteed to appear in Google Search results」。这次抓取也说明不了排名的任何事。

图标文件应该做多大

正方形,不小于 8x8,建议大于 48x48。这 27 个站实际发的是多大,我们说不出来 —— 我们读的是声明,从没解码过图片。其中 9 个连声明都没写,文件可能是任何尺寸。

要不要单独做苹果设备的图标

Google 把 apple-touch-iconapple-touch-icon-precomposed 也算作图标来源,所以做了不浪费。至于要不要做,那是 iOS 主屏的问题,不是搜索的问题。

网站图标实测:27 个首页全都声明了,5 个根路径是 404