【原创开源】Typecho-CdnAssets-Plugin静态资源JS/CSS CDN 加速插件

【原创开源】Typecho-CdnAssets-Plugin静态资源JS/CSS CDN 加速插件

✨ 功能特性

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

📦 安装方法

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

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

⚙️ 配置说明

| 自定义 CDN 地址 | 手动填写 | 自建 CDN / 对象存储 |
| jsDelivr | https://cdn.jsdelivr.net | 全球加速,GitHub 资源友好 |
| UNPKG | https://unpkg.com | npm 包直链加速 |

自定义 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"

🧩 兼容性

  • Typecho 1.3.x(PHP 7.4 / 8.x)
  • 与大多数 Typecho 主题兼容
  • 不依赖任何第三方库
下载地址 作者网站

评论区:

Avatar

暂无评论,快来抢沙发