CdnAssets

2026年03月25日 作者头像 作者头像 Admin 编辑

CdnAssets — Typecho 主题 JS/CSS CDN 加速插件

适用于 Typecho 1.3,自动将主题静态资源替换为 CDN 链接,显著加快页面加载速度。

下载



✨ 功能特性

功能说明
多 CDN 源内置 jsDelivr、UNPKG,也支持自定义 CDN 地址
灵活文件类型可自定义需要 CDN 加速的文件扩展名(js/css/字体/图片等)
排除路径支持关键词排除,不想替换的 URL 一行一个
SRI 跨域属性可选为标签自动添加 crossorigin="anonymous"
调试模式管理员可在页面源码注释中查看所有替换记录
后台资源可选可选是否同时加速后台管理面板的静态资源

📦 安装方法

  1. CdnAssets 文件夹上传至 Typecho 插件目录:

    /usr/plugins/CdnAssets/
  2. 登录后台 → 控制台插件 → 找到 CdnAssets → 点击 激活
  3. 点击 设置 配置 CDN 选项后保存。

⚙️ 配置说明

CDN 提供商

选项地址适用场景
自定义 CDN 地址手动填写自建 CDN / 对象存储
jsDelivrhttps://cdn.jsdelivr.net全球加速,GitHub 资源友好
BootCDNhttps://cdn.bootcdn.net国内访问速度快
Staticfile CDNhttps://cdn.staticfile.org国内开源库加速
UNPKGhttps://unpkg.comnpm 包直链加速

自定义 CDN 域名

当选择「自定义 CDN 地址」时填写,例如:

https://static.example.com
结尾不要加斜线 /

加速文件类型

默认值:

js,css,woff,woff2,ttf,eot,svg,png,jpg,jpeg,gif,ico,webp

按需增删,多个用英文逗号分隔。

排除路径

每行填写一个路径关键词,包含该关键词的 URL 将不会被 CDN 替换。示例:

/admin/
alipay
wechat-pay

SRI 完整性校验

开启后会在 <script><link> 标签中附加:

crossorigin="anonymous"

需要 CDN 服务器支持 CORS,否则资源可能加载失败。

调试模式

开启后,仅登录管理员可在页面 HTML 源码底部看到类似输出:

<!-- [CdnAssets Debug]
[CDN] https://example.com/usr/themes/mytheme/css/style.css → https://cdn.bootcdn.net/usr/themes/mytheme/css/style.css
[CDN] https://example.com/usr/themes/mytheme/js/app.js → https://cdn.bootcdn.net/usr/themes/mytheme/js/app.js
-->

🔧 工作原理

插件通过 PHP 输出缓冲(Output Buffering) 拦截页面最终 HTML,利用正则表达式匹配 src / href 属性中以博客根 URL 开头的静态资源链接,将域名部分替换为配置的 CDN 域名,对内容本身零侵入。

原始:  src="https://blog.example.com/usr/themes/x/js/main.js"
替换后: src="https://cdn.bootcdn.net/usr/themes/x/js/main.js"

📁 目录结构

CdnAssets/
├── Plugin.php      # 插件主文件
└── README.md       # 说明文档

🧩 兼容性

  • Typecho 1.3.x(PHP 7.4 / 8.x)
  • 与大多数 Typecho 主题兼容
  • 不依赖任何第三方库