网站图标实测:27 个首页全都声明了,5 个根路径是 404
网站图标教程只教一句「丢到根目录」。27 个首页实测下来:全部在 HTML 里声明了图标且地址全部有效,反而有 5 个站的 /favicon.ico 返回 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.com 与 medium.com 返回 403,www.reddit.com 返回 8,393 字节的空壳 —— 剩 27 个,与前几批被剔的是同样三个。
从返回的 HTML 里记下每个 rel 含 icon 的 <link>,连同它的 href、sizes、type。然后每站跟进两次请求。我们读的是声明,不是像素 —— 一张图片都没有解码,所以下面所有尺寸都是站点自己写的,不是文件实际的宽高。
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.org、news.ycombinator.com、slack.com;supabase.com 声明了 18 个,全部指向同一个 /favicon/ 目录。
| 检查项 | 站数 | 细节 |
|---|---|---|
| 声明了图标 | 27 / 27 | 合计 122 个 link |
| 首个图标返回 200 | 27 / 27 | 没有一个坏声明 |
| 根路径 404 | 5 / 27 | notion、figma、discord、supabase、framer |
| 写了 sizes | 18 / 27 | 9 个一个都没写 |
| 最大声明尺寸低于 48 | 3 / 27 | mozilla、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 建议的值。
还有一个站的尺寸里那个字符不是 x。www.nytimes.com 的两个 apple-touch-icon-precomposed 写的是 sizes="144×144" 和 sizes="114×114",中间是乘号 U+00D7,不是字母。这不是合法的尺寸写法,所以这两条声明其实一点尺寸信息都没带。它别的图标都正常,这是模板里的一个错字,不是线上故障 —— 而这种东西正因为没有任何工具会报,才能活很多年。
三个 Google 没列的 rel 值
Google 列了四个它支持的值:icon、shortcut icon、apple-touch-icon、apple-touch-icon-precomposed。样本里还出现了三个它没列的 —— mask-icon 在 github.com、www.theverge.com、www.bbc.com;alternate icon 在 github.com 和 www.bbc.com;fluid-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-icon 和 apple-touch-icon-precomposed 也算作图标来源,所以做了不浪费。至于要不要做,那是 iOS 主屏的问题,不是搜索的问题。


