第一步:清理站点冗余静态资源
站内流量70%以上来自静态资源(图片、JS、CSS、视频),冗余未被使用的资源是最大的流量浪费,清理后能直接降低基础流量消耗,实操步骤如下:
1. 扫描无用冗余资源
- WordPress站点:直接进入后台「插件-添加新插件」,搜索Media Cleaner,点击安装激活,插件会自动扫描所有未被页面引用的图片、视频附件,扫描完成后直接批量删除即可
- 纯静态HTML站点:直接下载开源扫描工具,下载地址:https://github.com/tvooo/sitemage-static-analyzer/releases,选择对应系统的版本解压后,运行以下命令输出未引用资源列表:
```
把后面路径换成你本地站点文件夹路径
sitemage-static-analyzer /path/to/your/site-folder
```
扫描出的无用资源直接删除即可
2. 批量无损压缩现有图片
图片占静态流量的60%左右,无损压缩可以降低30%-50%的体积,且无肉眼可察觉的画质损失,两种零门槛方案:
- 少量图片(小于1000张)直接用在线工具:打开https://tinypng.com,一次最多上传20张,单张不超过5MB,压缩后下载替换原文件即可
- 批量本地压缩:已经安装Node.js的环境下,直接运行以下命令批量压缩:
```
安装压缩工具
npm install -g @squoosh/cli
批量压缩当前目录所有jpg,输出到compressed文件夹
squoosh-cli --mozjpeg quality=80 .jpg --output ./compressed
批量压缩当前目录所有png
squoosh-cli --oxipng quality=3 .png --output ./compressed
```
压缩完成后直接替换原文件即可
第二步:开启分层缓存,减少重复流量消耗
超过30%的流量消耗来自访客重复访问时重新下载相同资源,开启分层缓存可以让资源存在访客浏览器和CDN节点,避免重复拉取,实操步骤:
1. 配置浏览器缓存规则
直接复制对应服务器的完整配置,不需要修改参数:
- Nginx服务器(绝大多数站点使用):打开站点配置文件(路径一般为/etc/nginx/conf.d/你的域名.conf),在server块内添加以下配置:
```
location ~ \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf|svg)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
```
添加完成后运行
systemctl reload nginx重载配置即可
- Apache服务器:打开站点根目录的.htaccess文件,添加以下配置:
```
ExpiresActive on
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
```
添加完成后运行
systemctl reload httpd重载配置即可
2. 开启CDN缓存静态资源

CDN可以把静态资源分发到离访客最近的节点,同时大部分服务商提供了足够中小站点用的免费流量额度,零门槛操作:
- 打开阿里云CDN免费页:https://www.aliyun.com/product/cdn,注册账号后开通CDN,添加域名时源站填写你的服务器IP,其他保持默认
- 按照提示把域名的CNAME记录替换为CDN提供的地址,然后设置静态资源默认缓存时间为7天,完成后90%的静态流量都会从CDN节点输出,大多数个人博客、中小企业站每月流量都在免费额度内,不会产生额外费用
第三步:砍掉无效流量,封禁不必要的请求
大约10%-20%的流量来自恶意爬虫爬站、无用资源加载,直接砍掉就能减少浪费:
1. 封禁恶意爬虫和无效请求
直接在Nginx的server块最前面添加以下规则,可直接复制使用:
```
封禁恶意采集爬虫
if ($http_user_agent ~ (Scrapy|HTTrack|wget|curl|python-requests)) {
return 403;
}
禁止访问敏感文件、关闭目录遍历
autoindex off;
location ~ \.(txt|log|sql|bak|zip)$ {
return 403;
}
```
添加后重载Nginx配置即可,能挡住80%以上的恶意爬站浪费流量
2. 禁用站点无用资源加载
以最常用的WordPress为例,主题和插件默认会加载很多用不到的JS、CSS,零门槛清理步骤:
- 进入WordPress后台,安装激活Asset CleanUp: Page Speed Booster插件
- 打开站点任意页面,点击顶部导航栏的「清理资源」,就能看到当前页面加载的所有资源,勾选确认用不到的资源(比如未开启评论站点的评论JS、不用的图标库CSS)直接禁用
- 保存后每个页面都会减少1-5个不必要的资源请求,平均能降低10%-20%的单次访问流量
完成以上三步操作后,等待3天查看服务器或CDN的流量统计,绝大多数中小站点能降低50%-70%的站内流量消耗,直接减少流量成本支出,所有操作都不需要修改站点核心代码,零门槛即可落地。