WebP、PNG、JPG 与搜索引擎:站点图标为何离不开 ICO

AI 摘要997笔记AI

从更换导航站 favicon 的经历出发,文章梳理 PNG、JPG、WebP 三种格式,以及 Google、Bing、百度对 WebP 和站点图标的不同态度:正文图片可多用 WebP,但三家 favicon 均不支持 WebP,百度仍只认 ICO。结论是按各家标准准备 ICO/PNG 图标,并用工具压缩、自检。

此内容由AI根据文章内容自动生成。

上个月我干了一件小事:给自己的导航站换 favicon。换完之后盯着百度和必应的搜索结果看了两个星期,看着必应从灰色的地球图标慢慢变成新图标,也看着百度始终纹丝不动。为了搞明白“为什么百度就是不认我的图标”,我把三家搜索引擎关于图片和站点图标的官方文档、社区问答翻了个遍,顺手把站点的图标体系也重做了一遍。

这篇文章就是那次的沉淀。聊四件事:PNG、JPG、WebP 三种格式搜索引擎分别怎么看;为什么百度对站点图标的执念还停留在 ICO 时代;Google 和必应的新一代图标标准长什么样;以及最后给大家整理的 WebP 压缩工具清单(含一个我最近在用的免费在线转换站)。

一 · 先分清三种格式的本分

聊偏爱之前得先说清楚,PNG、JPG、WebP 各自是干什么的——很多“该用哪个格式”的争论,其实是拿三种分工不同的格式在互相比较。

格式 压缩方式 透明通道 色彩 适合放什么
JPG 有损,无透明 ✗ 1600 万色 照片、截图、Banner 大图
PNG 无损,支持透明 ✓ 索引色或真彩 图标、Logo、需要透明的素材
WebP 有损/无损都有,支持透明 ✓ 1600 万色 以上所有场景的替代品

WebP 是 Google 2010 年推的格式,同样画质下体积通常比 JPG 小 25%~35%,还能做动图(替代 GIF)和透明(替代 PNG)。我站里所有文章配图在 2026 年初全部转成了 WebP,单篇图文的资源体积从 6MB 级降到 1.5MB 级,弱网加载时间直接砍掉七成。唯一的代价是兼容性:它比 JPG 年轻三十岁,老软件、老爬虫、老审核系统都可能不认。这个“不认”,正是后面所有故事的根源。

二 · 正文配图:三家对 WebP 的态度并不一样

Google:全面拥抱

Google 从 2020 年起在 Search Console 和 PageSpeed Insights 里明确把 WebP 列为推荐格式,图片搜索、结构化数据、LCP 评分全链路支持。用 WebP 不仅不吃亏,还能在 Core Web Vitals 上拿到实际的分数回报——图片是 LCP 的第一大来源,体积小 30% 就意味着 LCP 快 30%。

Bing:支持,但生态保守

Bing 的图片搜索和网页抓取对 WebP 是支持的,官方文档也没有任何“不建议使用”的表述。但 Bing 生态里老工具多(截图工具、CMS 缩略图组件、第三方分析面板),偶有 WebP 图片在一些下游工具里显示异常的案例。我的实践是:Bing 侧可以放心用 WebP,但站点要保证 Content-Type 正确(image/webp),别让服务器把 WebP 当二进制流输出。

百度:正文图片可用,但周边生态是短板

百度网页搜索对 WebP 正文图片的抓取和收录是正常的,我的站几十篇 WebP 配图的文章都在正常出图。但两个周边环节要留意:一是百度图片搜索对 WebP 的收录和展现历史上有过反复,重要图片(比如希望进入图片搜索流量的)建议保留一份 JPG/PNG 版本;二是后面要重点讲的站点 LOGO 和站点图标,百度的支持列表里根本没有 WebP 的位置。

三 · 站点图标:三家搜索引擎的标准对照

站点图标(favicon)是所有图片里最特殊的一个:它不是内容,是身份。也正因为是身份,三家搜索引擎对它的要求差异大得离谱。先上对照表:

项目 Google Bing 百度
图标格式 ICO / PNG / SVG / GIF ICO / PNG / GIF / JPG 实践上只认 /favicon.ico
尺寸要求 正方形,48 的倍数(48/96/144…) ≥16×16,建议 32×32 以上 LOGO:PC 121×75 + 移动 200×133
抓取方式 抓 rel=icon 声明 + 检查 /favicon.ico 独立图标服务抓取,不走主蜘蛛 搜索蜘蛛 + 人工审核(LOGO 权限)
缓存更新 独立缓存,更新要等下一轮抓取 数天到数周,可提工单催 审核制,通过后 30 天只能改一次
WebP ✗(文档列表里没有) ✗(文档列表里没有) ✗

看清楚最后一行了吗?2026 年了,三家搜索引擎的站点图标支持列表里,都没有 WebP。连一贯激进的 Google 也只把 ICO、PNG、SVG、GIF 写进文档——图标这个场景,新格式推进得远比正文图片慢。

Google:标准最开放,细节最严格

Google 的 favicon 指南核心就三条:图标必须是正方形、尺寸是 48×48 的倍数(48、96、144…,因为搜索结果里会被缩到 16×16 展示,源图必须够大)、图标 URL 不能被 robots.txt 屏蔽。格式上 ICO、PNG、SVG、GIF 都行,也可以什么都不声明——Google 会自己去抓 /favicon.ico。

容易忽略的两个细节:一是 Google 对图标有独立缓存,你换了图标,搜索结果里可能几周都不更新,这不是故障;二是 Google 搜索结果里用的图标取的是 96×96 这一级,你只放一张 16×16 的 ICO,Google 只能拿小图硬放大,模糊就是必然的。

html




Bing:规则简单,但有自己的小脾气

Bing 的官方要求很宽松:根目录放一份 .ico/.png/.gif/.jpg,至少 16×16,别被 robots.txt 挡住,就这些。但实际操作过的人都知道它有两个怪癖:

  • 图标由独立的图片服务抓取,不走 Bingbot 主蜘蛛。我在服务器日志里 grep 必应的图标抓取记录,来源 IP 和 UA 与主蜘蛛完全不同,图标更新节奏自然也不受“请求收录”控制;
  • 更新极慢,且没有明确的刷新入口。社区里普遍的解法是把图标 URL 加进 sitemap、在站长工具里重新提交,实在不行就提工单——我这两个星期里眼看着灰球变彩,就是等出来的。

一个常见的误判

必应搜索结果里的图标长期不更新,第一反应不该是“我格式错了”,而是先确认旧图标是否被必应的图片服务缓存住了。换图标时顺手改一下文件名或加版本参数,再配合站长工具重新提交,等待周期会短一些。

百度:执念最深的那一个

终于说到标题里的主角。百度的站点图标体系分两块,规则和另外两家完全不在一个次元:

第一块,搜索结果里的站点 LOGO(那张 121×75 的横图)。这不是 favicon,是百度搜索资源平台里的“站点属性”权益,官方要求的尺寸是 PC 端 121×75、移动端 200×133 两张,JPG/PNG 格式。而且这个权益不是随便就能用的:目前主要面向 VIP 站点开放,常见的解锁路径是把站点关联百度智能小程序且小程序月活 ≥1000。通过审核后 30 天内只能改一次,审核原则里明确要求“不得模糊拉伸、不得裁剪、不得含广告文字”。

第二块,真正的 favicon(浏览器标签和部分场景下的小图标)。百度蜘蛛对站点图标的抓取逻辑非常保守:它默认只找 /favicon.ico,对 head 里声明的 PNG/SVG 引用响应冷淡,WebP 更是完全没有进入它的视野。我自己的实测是:站点把 rel=icon 指向一张 32×32 的 PNG 后,百度的图标抓取记录依然是零,换回标准路径的 .ico 才恢复。

为什么百度对 ICO 这么执着

技术上讲,/favicon.ico 是 1999 年 IE5 定下的行业约定:浏览器默认请求站点根目录的这个文件,不需要任何 HTML 声明。对一个蜘蛛体系以“稳定、少改动”为优先的搜索引擎来说,支持这个最老最简单的约定,是成本最低、误判最少的选择——PNG/SVG 声明方式五花八门,还要处理 MIME 类型和解析容错,收益却只是“少抓一个文件”。说白了不是技术做不到,是优先级排不上。

四 · 实战:一套图标,三家全命中

理解了三家的脾气,解法就清晰了:别赌哪一家会迁就你,把所有格式的成本一次性付清。我给站点做的图标体系是下面这一套,亲测 Google、Bing、百度三家通吃(百度虽然慢,但认):

文件 尺寸/内容 给谁用
favicon.ico 多帧:16/32/48/64 百度蜘蛛 + 老浏览器 + 应急
favicon-96×96.png 96×96 Google 搜索结果展示
favicon.svg 矢量 现代浏览器,任意缩放不糊
apple-touch-icon.png 180×180 iOS 添加到主屏
android-chrome-192/512.png 192/512 Android PWA
site.webmanifest JSON 清单 把上面两个 PNG 串起来

服务器配置上有两个小坑提醒一下:一是 nginx 全局 mime.types 里默认没有 .webmanifest 的映射,要单独加一条 application/manifest+json;二是如果你的站点套了 CDN,换图标后记得把对应的缓存规则刷一遍,否则你自己看到的永远是旧图,还以为改动没生效。

nginx
# nginx:给 webmanifest 补 MIME(放 server 块或独立 conf)
location = /site.webmanifest {
    types { }                      # 清空继承
    default_type application/manifest+json;
}

别在 server 块里直接写 types{}

nginx 的 types{} 是“替换”不是“叠加”——在 server 层写一个空的 types{} 会把全站 png/ico/js/css 的映射一起清掉,所有静态资源退化成二进制流。只对单个文件用 location 精确覆盖。

五 · WebP 压缩工具:从网页到命令行

正文图片全面转 WebP 的前提,是有一个顺手的转换工具。按使用场景推荐几个:

Cloudinary 在线转换:免注册,拖进去就出图

最近常用来处理零散图片的是 Cloudinary 的 PNG 转 WebP 在线工具。它挂在 Cloudinary 的工具集页面上,特点很明确:免费、不需要注册账号、纯浏览器端拖拽,把 PNG 拖进去立刻得到转换好的 WebP,还能顺手调质量参数。适合那种“就一两张图,为这个装个软件不值当”的场景。同系列里还有 JPG 转 WebP、WebP 转 PNG 等工具,格式互转基本一站解决。

在线工具的通用注意点:涉及公司内部截图或未发布素材的图片,介意上传到第三方的话就用下面的本地方案。

Squoosh:Google 出品,本地浏览器处理

Google 官方的 Squoosh 是同类工具里的标杆:打开网页后图片在浏览器本地完成压缩,不上传服务器,左右对比滑块可以直观看到画质差异,质量参数、缩放尺寸都能精细调。对画质有要求的截图、产品图,我一般用它处理。

批量与自动化:cwebp 和 Pillow

整站图片批量迁移的场景,在线工具就不合适了,两个命令行方案:

bash
# Google 官方 cwebp:质量 82 是画质/体积的甜点值
cwebp -q 82 input.png -o output.webp

# Pillow 批量(Python,适合写进发布脚本)
from PIL import Image
im = Image.open("input.png").convert("RGB")
im.save("output.webp", "WEBP", quality=82, method=6)

WordPress 用户可以直接上 Imagify、ShortPixel 这类插件,上传时自动生成 WebP 并做双格式回退;自己写发布脚本的话,把转换逻辑塞进流程里(我的做法是发布脚本里全部转 WebP,上线前统一输出),一劳永逸。

六 · 上 checklist:五分钟自检

  • 站点根目录有标准 /favicon.ico(多帧,至少含 16/32/48)——这是百度和必应的敲门砖;
  • head 里有完整图标声明:ico + svg + 96×96 PNG + apple-touch-icon + manifest;
  • Google:图标是正方形、48 的倍数、没被 robots.txt 挡;
  • Bing:图标 URL 加进 sitemap,站长工具重新提交,换图标记得改文件名防缓存;
  • 百度:站点 LOGO 走搜索资源平台的站点属性(121×75 + 200×133,JPG/PNG),权限按 VIP/小程序路径解锁;
  • 服务器:webmanifest 的 MIME 已配置,换图后已刷 CDN 缓存;
  • 正文配图:WebP 为主,重要图片留 JPG/PNG 备份给图片搜索。

七 · 结语:新格式归新格式,老约定归老约定

写到这里,答案其实已经很明显了。正文图片,WebP 放心用——三家搜索引擎的抓取和收录都没有问题,体积优势是实打实的体验提升。站点图标,老老实实留一份标准路径的 ICO——它不占据什么空间,却是百度这类搜索引擎识别你站点的最低成本方式,Google 的 96×96 PNG 和 iOS 的 180×180 也顺手一起做了。

技术在往前走,SVG 图标、暗色模式适配、WebP 动图都是未来,但在搜索引擎这个最保守的生态里,兼容旧约定永远是新格式普及的前提。一套图标全家桶加一个在线转换工具,十分钟搞定,一劳永逸。

上一篇 常用的运维工具:SSH 远程连接工具怎么选?12 款横评与搭配方案
下一篇 99% 的人在用 AI,真正会用的只有 28%