2025 年网站还需要支持 favicon.ico 吗?

2025 年关于 favicon.ico 的实用说明:现代浏览器不再强制要求它,但保留它可以减少服务器日志噪音,并兼顾旧工具。

短答案

严格来说,现代浏览器(Chrome、Edge、Safari、Firefox)已经不再需要 .ico。但实际使用中,强烈建议保留。

如果不放 favicon.ico,服务器日志会被 404 刷满。很多旧爬虫和 RSS 阅读器不读 HTML 的 head,会直接请求根目录的 /favicon.ico。

2025 年推荐配置

覆盖常见场景只需要 3–4 个文件,不必再生成几十种旧格式尺寸:

1. favicon.ico(32×32)——兼容和兜底

  • 必须放在网站根目录(/favicon.ico)
  • 主要用来减少日志报错,并服务旧工具

2. icon.svg——现代主力

  • 现代浏览器优先使用
  • 任意缩放都不损失清晰度

3. apple-touch-icon.png(180×180)——iOS

  • 用户在 iPhone/iPad 上「添加到主屏幕」时使用
  • 不必准备多种尺寸,180×180 覆盖所有 iOS 设备

4. manifest.webmanifest(可选)

  • 主要用于 Android 和 PWA 安装
  • 定义 192×192 和 512×512 的 PNG 图标

实现代码(HTML / Nuxt Head)

最精简、也够现代的写法:

<head>
  <!-- 1. Modern SVG (highest priority) -->
  <link rel="icon" href="/icon.svg" type="image/svg+xml">

  <!-- 2. Apple iOS icon -->
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">

  <!-- 3. Traditional .ico (fallback) -->
  <!-- Note: Adding sizes="any" tells Chrome this is a bitmap, -->
  <!-- so Chrome will prefer SVG over ICO -->
  <link rel="icon" href="/favicon.ico" sizes="any">
  
  <!-- 4. Android/PWA configuration -->
  <link rel="manifest" href="/manifest.webmanifest">
</head>

Nuxt.js 项目

在 nuxt.config.ts 或页面组件里:

useHead({
  link: [
    { rel: 'icon', href: '/icon.svg', type: 'image/svg+xml' },
    { rel: 'apple-touch-icon', href: '/apple-touch-icon.png' },
    { rel: 'icon', href: '/favicon.ico', sizes: 'any' },
    { rel: 'manifest', href: '/manifest.webmanifest' },
  ],
})

为什么还要留 favicon.ico?

日志更干净

没有 favicon.ico,服务器日志会充满 404。机器人、爬虫、RSS 阅读器会自动请求 /favicon.ico,每次都记一条错误。噪音一大,真正的问题更难看清。

旧工具还能用

不少旧工具、RSS 阅读器、书签管理和浏览器扩展仍默认根目录有 favicon.ico。现代浏览器不需要它,但这些工具往往不读 HTML head,会直接打根路径。

成本几乎为零

一个 32×32 的 favicon.ico 通常不到 2KB,也几乎不用维护。干净的日志和更广的兼容,远大于这点成本。

现代做法:SVG 优先

为了兼容仍保留 favicon.ico,但主力图标应该是 SVG:

  • 不依赖分辨率: 从 16×16 到 512×512 都清晰
  • 文件更小: 常常比同等 PNG 更小
  • 更耐用: 高分屏和以后的设备都适用
  • 一个文件: 一份 SVG 可以替代多种 PNG 尺寸

Chrome、Firefox、Safari、Edge 都支持 SVG 图标。ICO 那条 link 加上 sizes="any",有 SVG 时浏览器会优先用 SVG。

要点

  • 别删 .ico: 浏览器可能不用它,但放在根目录能减少日志噪音,也兼顾旧工具。
  • SVG 是方向: 维护一份 SVG,就能解决大部分分辨率问题。
  • 配置尽量少: 3–4 个文件(favicon.ico、icon.svg、apple-touch-icon.png,可选 manifest.webmanifest)就能覆盖常见场景。
  • 顺序有影响: 先写 SVG,再写带 sizes="any" 的 ICO,现代浏览器才会选更好的格式。

小结

2025 年,现代浏览器技术上不需要 favicon.ico,但保留它仍是好习惯:减少日志噪音、兼顾旧工具、成本几乎为零。再配上 SVG,就是兼顾现在和以后的做法。

关键是简单:一份 SVG 做主力,一份小 ICO 做兼容,一份 Apple Touch Icon 给 iOS,PWA 再加 manifest。不必再维护几十种尺寸。