惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
G
GRAHAM CLULEY
H
Hackread – Cybersecurity News, Data Breaches, AI and More
阮一峰的网络日志
阮一峰的网络日志
L
Lohrmann on Cybersecurity
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Security Affairs
The Cloudflare Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Spread Privacy
Spread Privacy
Y
Y Combinator Blog
V2EX - 技术
V2EX - 技术
罗磊的独立博客
F
Full Disclosure
Jina AI
Jina AI
S
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
Webroot Blog
Webroot Blog
雷峰网
雷峰网
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recorded Future
Recorded Future
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
K
Kaspersky official blog
V
Visual Studio Blog
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Tor Project blog
Cloudbric
Cloudbric
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
L
LINUX DO - 最新话题
GbyAI
GbyAI
Attack and Defense Labs
Attack and Defense Labs
H
Heimdal Security Blog
Recent Announcements
Recent Announcements
L
LINUX DO - 热门话题
L
LangChain Blog
Simon Willison's Weblog
Simon Willison's Weblog

Halo - 强大易用的开源建站工具

如何选择最佳网站搭建方案?2026年12款建站工具对比测评! Halo 和 WordPress 对比:开源 CMS 怎么选? Halo 和 Ghost 对比:博客、简报与会员订阅怎么选? Halo 和 Typecho 对比:现代 CMS 还是轻量博客? Halo 和 EmDash 对比:成熟 CMS 还是 Cloudflare 新方案? Halo 和 Hugo 对比:动态 CMS 还是静态网站生成器? Halo 和 Hexo 对比:动态 CMS 还是静态博客? Halo 和 Strapi 对比:全栈建站平台还是 Headless CMS? 在群晖 NAS 上用 Docker 部署 Halo 用 Obsidian 写文章,一键发布到 Halo 域名是什么?新手注册域名前要知道的 7 件事 虚拟主机、VPS 和云服务器有什么区别?建站服务器怎么选 建站需要准备什么?域名、服务器、备案和 SSL 的关系 域名解析:A 记录、CNAME、MX、TXT 分别怎么用 网站备案是什么?个人备案和企业备案有什么不同 SSL 证书和 HTTPS 是什么?免费证书够用吗 CDN 是什么?网站什么时候需要 CDN robots.txt 是什么?新手建站常见配置误区 Sitemap 是什么?它对网站收录有什么作用 SEO 写作基础:标题、描述、URL 和内链怎么做 301 和 302 重定向有什么区别?网站改版怎么降低排名风险 Google Analytics、Umami、Rybbit:流量统计工具怎么选 网站安全基础:建站后必须做的 6 件事 Halo 如何定时发布文章 Halo 如何接入 Bing Webmaster Tools 支持优惠券和折扣码,Halo 2.25 发布 AI Foundation:给 Halo 插件生态一层 AI 能力底座 Halo 应用市场已支持开发者入驻和创建应用 Halo 如何接入 Google Search Console 如何自动备份 Halo 网站 让 AI Agents 管理 Halo 网站内容 支持商城小程序,Halo 2.24 发布 如何在本地快速体验 Halo 使用 Halo CLI + GitHub Actions 持续部署主题 使用页面缓存插件优化 Halo 网站速度 阿里云 ESA 接入 Halo 配置指南 在本地搭建 Halo 插件开发环境 七牛云 DCDN 接入 Halo 配置指南 如何一键更新 Halo 的主题和插件 又拍云 CDN 接入 Halo 配置指南 腾讯云 EdgeOne 接入 Halo 配置指南 Halo 网站加载慢?8 种原因排查与优化方法 Halo 导入 Word 文档教程:批量导入并保留图片 主题开发技巧:为 Halo 网站添加一个知识库样式的页面 Rybbit 接入 Halo 教程:开源隐私友好的流量分析工具 Umami 接入 Halo 教程:自托管网站流量统计 在 Halo 中使用 Markdown 写作的 6 种方式 如何从社区版切换到 Halo 付费版
网站图片优化指南:格式、压缩和懒加载怎么做
Ryan Wang · 2026-06-23 · via Halo - 强大易用的开源建站工具

图片是网站性能最常见的瓶颈之一。很多内容型网站里,图片会占据页面下载体积的很大一部分。优化图片通常是提升网站加载速度投入产出比最高的手段之一——核心不是简单把图片压糊,而是在视觉质量和文件大小之间找到平衡点


一、为什么图片是网站性能的头号瓶颈?

一张手机拍摄的高清照片通常是 3-5MB,而一个理想的博客网页(含文字、样式、脚本和图片)的总加载大小应该在 1-2MB 以内。如果你在文章中直接上传原图,一张图片就足以拖垮整个页面的加载速度。

影响链:

大图片 → 更长的传输时间 → 页面渲染等待 → 用户跳出 → 搜索引擎排名下降

好消息是:图片优化的收益通常很直接。图片体积越小,传输时间和首屏等待越容易下降,但最终速度还会受到服务器、网络、缓存和页面结构影响。


二、常见图片格式对比:什么时候用哪个?

格式压缩类型透明度适合场景典型文件大小比
JPEG有损压缩❌ 不支持照片、复杂色彩图片基准(1x)
PNG无损压缩✅ 支持截图、Logo、图标通常比 JPEG 大
WebP有损/无损✅ 支持几乎所有场景比 JPEG 小 25-35%
AVIF有损/无损✅ 支持高质量照片比 JPEG 小 50%
SVG矢量✅ 支持Logo、图标、图表极小

格式选择建议

  • 照片、文章配图 → 首选 WebP,备选 JPEG。
  • 截图、界面展示 → PNG(保留清晰文字边缘)或 WebP 无损模式。
  • Logo、图标 → SVG(矢量格式,任意缩放不模糊)。
  • 高质量摄影作品 → AVIF(如果浏览器兼容性不是问题)。

浏览器兼容性

  • WebP:Chrome、Firefox、Safari、Edge 均已支持,普通网站可以放心使用。
  • AVIF:主流浏览器均已支持,但部分旧版本 Safari 不支持。如果面向广泛的移动端用户,建议同时提供 WebP 回退。

三、压缩策略:无损 vs 有损

无损压缩

通过优化文件的内部数据结构,在不改变任何一个像素的前提下减小文件体积。对 PNG 和 WebP 有效,压缩率通常 10%-30%。

有损压缩

通过丢弃对人眼不敏感的颜色和细节信息来大幅减小文件体积。对 JPEG、WebP 和 AVIF 有效,压缩率可达 50%-90%。

怎么选?

  • 照片和文章配图:使用有损压缩,质量设置 75-85% 通常肉眼无法区分。
  • 截图和 UI 展示:使用无损或有损高质量(85%+),保留文字清晰度。
  • Logo 和图标:优先使用 SVG,并可通过 SVGO 等工具优化;如果必须使用位图,再考虑 PNG 无损压缩。

推荐工具

  • 命令行cwebp(JPEG/PNG → WebP)、avifenc(→ AVIF)、pngquant(PNG 有损压缩)。
  • 在线工具:Squoosh(Google 出品,支持实时对比效果)、TinyPNG / TinyJPG。
  • 批量工具:ImageOptim(macOS)、XnConvert(跨平台)。

四、响应式图片:不同屏幕给不同的图

用户在桌面端用 1920px 宽的屏幕看你的文章配图,但在手机上只能看到 375px 宽。如果你统一上传 1920px 宽的大图,手机用户就是在下载一张远超他们需要的图片——既浪费流量又拖慢加载。

srcset 属性

HTML 的 srcset 属性允许你提供多张不同尺寸的同一图片,浏览器自动选择最合适的一张:

<img
  src="photo-800w.jpg"
  srcset="photo-400w.jpg 400w,
          photo-800w.jpg 800w,
          photo-1200w.jpg 1200w"
  sizes="(max-width: 600px) 400px,
         (max-width: 900px) 800px,
         1200px"
  alt="文章配图说明"
/>

picture 元素

如果需要根据屏幕宽度或设备特性提供不同格式的图片,使用 <picture>

<picture>
  <source srcset="photo.avif" type="image/avif">
  <source srcset="photo.webp" type="image/webp">
  <img src="photo.jpg" alt="文章配图说明">
</picture>

这样支持 AVIF 的浏览器用 AVIF,支持 WebP 的用 WebP,都不支持的回退到 JPEG。

在 Halo 中的响应式图片

标准 Markdown 的图片语法 ![alt](url) 本身不支持手写 srcsetpicture。较新的 Halo 版本已经支持附件图片缩略图生成和文章响应式图片,普通文章通常不需要手写 <picture>。具体效果仍取决于当前 Halo 版本、主题模板和附件存储方式。

如果需要精细控制,可以按场景处理:

  • 普通文章配图:上传合适尺寸和体积的图片,依赖 Halo 的响应式图片能力和主题样式即可。
  • 主题模板中的封面图、列表图:使用 Halo 的缩略图能力生成不同尺寸图片,并在模板中配置 srcset / sizes
  • 文章里的特殊展示:可以在 HTML 块中直接写 <picture> / <img srcset> 标签。

五、懒加载:让图片在需要时才加载

懒加载(Lazy Loading)的核心思路是:只有当图片即将进入浏览器视口时,才开始加载它。 这样可以让页面首屏尽快渲染完成,而用户还没滚动到的图片不会占用初始带宽。

原生懒加载(推荐)

现代浏览器原生支持 loading="lazy" 属性,无需任何 JavaScript 库:

<img src="photo.jpg" loading="lazy" alt="描述">

Chrome、Firefox、Safari、Edge 均已支持,覆盖绝大多数用户。

注意事项

  • 首屏的图片不要懒加载:文章顶部的封面图或 Logo 应该立即加载,否则会影响 LCP(最大内容绘制)指标。只在折叠线以下的图片上使用懒加载。
  • 设置明确的图片尺寸:给 <img> 添加 widthheight 属性,避免懒加载图片加载后导致页面布局跳动(CLS 指标受影响)。

六、CDN 的图片处理能力

大多数 CDN 服务商提供基础或高级的图片处理功能,可以在不修改原图的情况下,通过 URL 参数动态生成不同尺寸、格式和质量版本。

例如,七牛云和又拍云的图片处理接口支持:

  • ?imageView2/1/w/800/h/600/q/85:等比例缩放到 800×600,质量 85%。
  • ?format/webp:动态转换为 WebP 格式。

这意味着你只需要上传一张原图,CDN 帮你自动生成适配不同设备的版本。对于图片较多的网站,这是维护成本较低的优化方案之一。


七、Halo 中的图片管理最佳实践

  1. 上传前先压缩图片。不要直接上传手机拍摄的 5MB 原图。用 Squoosh 或本地工具处理后再上传。建议文章配图控制在 200-500KB 以内。
  2. 使用 WebP 格式。Halo 支持上传 WebP 图片,建议优先上传 WebP 格式的图片。
  3. 给图片填写 Alt 文本。在上传附件或插入图片时,Halo 编辑器允许填写替代文本。这是图片 SEO 的基础,同时也提升无障碍访问体验。
  4. 配合 CDN 使用。如果已接入 CDN,确认 CDN 的缓存规则覆盖了图片文件,并开启图片格式转换功能(如支持)。

相关教程:Halo 网站加载慢?8 种原因排查与优化方法 · 使用页面缓存插件优化 Halo 网站速度 · 阿里云 ESA 接入 Halo 配置指南 · 腾讯云 EdgeOne 接入 Halo 配置指南


总结

把图片优化这件事拆开来看,其实就几件事:格式上,照片用 WebP、图标用 SVG、截图用 PNG,基本不会错;所有图片上传前做一次有损压缩,质量设在 75%-85%,单张控制在 200-500KB;尺寸方面文章配图 1200px 宽就够,最大不超过 1920px;非首屏的图片加上 loading="lazy" 懒加载,首屏的不要加;每张图片记得写上描述性的 alt 文本;如果已经接入了 CDN,顺手把格式转换和尺寸裁剪功能开起来。

这几步做到位后,图片加载速度通常会有明显改善。日常写文章时养成处理图片的习惯,也不会增加太多额外工作量。


这是「建站通识」系列的最后一篇。后续可以继续围绕图片 CDN、格式转换和前端性能做更细的专题补充。