1. 准备:确认视频文件存放位置(wp-content/uploads 或外部对象存储)。
2. 选择CDN:常见有Cloudflare、阿里云CDN、腾讯云CDN、Fastly、Akamai等,依据预算、节点与视频流支持(HLS/DASH)选择。
3. 账号与域名:注册CDN账户并准备一个用于加速的二级域名,如 cdn.example.com。
1. 登录CDN控制台,选择“添加域名/加速域名”。
2. 填写加速域名(cdn.example.com),选择加速类型:点播/下载/视频点播(若有HLS选择视频流)。
3. 回源配置:填写源站域名(如 yoursite.com 或 存储Bucket地址)。选择回源协议http/https。
1. 登录域名解析服务(域名注册商或DNS服务)。
2. 添加一条CNAME记录:主机名 cdn -> 指向 CDN 提供商给出的域名(例:abcd.cdnprovider.net)。
3. 生效后通过 dig/curl 测试:dig cdn.example.com,确认解析到CDN节点。
1. 优先使用CDN控制台提供的免费证书/托管SSL(如Let's Encrypt)并启用SNI。
2. 若使用自有证书,可上传证书与私钥。
3. 测试:https://cdn.example.com/yourvideo.mp4 在浏览器打开,确认证书链与安全连接。
1. 推荐插件:CDN Enabler、W3 Total Cache、WP Rocket、BunnyCDN 插件。
2. CDN Enabler 示例:安装并启用 -> Settings > CDN Enabler -> CDN URL 填写 https://cdn.example.com -> Included directories 填入 /wp-content/uploads -> Exclude 后缀可留空。保存。
3. 验证:打开带视频页面,查看视频链接是否已指向 cdn.example.com。
1. 可在主题 functions.php 添加过滤器:使用 wp_get_attachment_url 或 content 过滤器,将 yoursite.com/uploads 替换为 cdn.example.com。
2. 示例:add_filter('wp_get_attachment_url', function($url){ return str_replace('https://yoursite.com','https://cdn.example.com',$url); });
1. 在CDN控制台设置缓存规则:针对视频后缀(.mp4 .webm .m3u8 .ts)设置较长的 Edge Cache TTL(如 7天),但对 .m3u8 或动态清单可设置短TTL(1-30分钟)。
2. 配置忽略Query String或按需缓存(视业务需要)。
3. 启用Range请求支持与流媒体优化(HLS加速)。
1. Nginx示例(添加到server/location):
location ~* \.(mp4|webm|m3u8|ts)$ { add_header Cache-Control "public, max-age=604800, immutable"; add_header Access-Control-Allow-Origin "*"; expires 7d; }
2. Apache (.htaccess)示例:<FilesMatch "\.(mp4|webm|m3u8|ts)$"> Header set Cache-Control "public, max-age=604800, immutable" Header set Access-Control-Allow-Origin "*" </FilesMatch>
1. 当视频更新时,优先使用文件名版本化(video_v2.mp4)避免强制清除。
2. 必要时在CDN控制台执行路径或目录刷新(Purge)。示例API调用(伪):curl -X POST "https://api.cdn.com/purge" -d '{"urls":["https://cdn.example.com/path/video.mp4"]}' -H "Authorization: Bearer TOKEN"。
3. 检查缓存命中:curl -I https://cdn.example.com/video.mp4 看 X-Cache 或 Age 头。
1. 检查响应头:curl -I 查看 Cache-Control、Accept-Ranges、Access-Control-Allow-Origin、X-Cache。
2. 若仍走源站:确认DNS解析、CDN加速域名是否已启用并且 CDN 控制台回源域名正确。
3. 视频播放失败:确认 Range 支持和跨域允许,HLS 需 .m3u8 可被访问且 CORS 允许域名。
问:为什么要用CDN来加速WordPress站点的视频?
答:使用CDN可将视频缓存到离用户最近的边缘节点,显著降低延迟、减少源站带宽压力、提高并发播放稳定性,并支持全球分发、断点续传与流媒体优化,改善用户体验并降低成本。
问:CDN域名要启用HTTPS,该如何配置证书?
答:优先使用CDN平台提供的自动证书(免费托管或Let's Encrypt),或在CDN控制台上传自有证书;同时确保回源协议(origin)也支持HTTPS或在CDN设置中选择“回源用HTTP/HTTPS”策略,完成后通过浏览器或 curl 验证证书链。
问:将视频URL替换为CDN域名会不会影响SEO或索引?
答:通常不会影响SEO,CDN只是静态资源的加速域名。为防止问题可保留页面上的原始页面URL和结构,仅替换视频静态资源链接;如果担心,可通过robots或sitemap保持页面可索引,同时确保视频元数据(schema videoObject)仍指向可访问的资源或页面。
