近期发现,搜索引擎竟然把网站的 CDN 子域名也当成正文内容收录了,这对 SEO 来说是个大忌。因为同一内容出现在多个域名时,搜索引擎会识别为“镜像内容”,进而可能给网站降权。
许多使用 WordPress 的站长都会启用 CDN 缓存。通过 CDN 实现动静分离的模式下,由于 CDN 域名与主站回源 IP 相同,访问时会直接输出 HTML,导致百度也抓取到了这些静态页面。而如果不使用静态缓存,访问 CDN 域名会自动跳转回主站。
1. 针对 CDN 域名,配置 robots2.txt
我们可以新建一个 robots2.txt
,内容如下:
User-agent: *
Allow: /robots.txt
Allow: /*.png*
Allow: /*.jpg*
Allow: /*.jpeg*
Allow: /*.gif*
Allow: /*.bmp*
Allow: /*.ico*
Allow: /*.js*
Allow: /*.css*
Allow: /wp-content/
Disallow: /
这样便允许搜索引擎抓取静态资源(如图片、JS、CSS),但禁止抓取其他内容,避免 CDN 被视为主站内容镜像。
2. 在 Nginx 上针对 robots.txt 做跳转
主站不能使用 robots2.txt,否则会拒绝所有抓取。可在服务器配置中判断 HOST,并重定向到新文件:
if ($http_host !~ "^www\.域名\.com$") {
rewrite /robots.txt /robots2.txt last;
}
if ($http_host ~ "^cdn\.域名\.com$") {
rewrite /robots.txt /robots2.txt last;
}
这意味着:当访问 CDN 域名或非主域名时,robots.txt 自动指向 robots2.txt。
3. Apache 上的 Rewrite 实现方式
如果你使用 Apache,可采用以下重写规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.域名\.com [NC]
RewriteRule ^robots\.txt$ robots2.txt [L]
同样作用:只有主站使用正常 robots.txt,其他域名则读取 robots2.txt。
4. 验证实施效果
完成配置后,请务必访问各域名下的 robots.txt 进行检查,确保正确跳转,否则可能导致搜索引擎无法抓取关键资源——引发 SEO 严重问题 。
总结建议
- 📌 强烈建议站长针对 CDN 子域设置专用 robots2.txt,仅允许静态资源访问;
- 📤 主站域名继续使用原有 robots.txt,保证搜索引擎能全面抓取;
- ✅ 配置完成后,务必访问各域名下的 robots.txt 验证跳转是否生效。
通过上述策略,无需改主站设置,既能保护主站权重,又能防止 CDN 被误抓取,实现“动静分离”且 SEO 友好的结构。这是每个 WordPress+CDN 用户值得借鉴的做法。
© 版权声明
免责声明:本站分享的WordPress主题/插件均遵循 GPLv2 许可协议(开源软件)。相关介绍资料仅供参考,实际版本可能因版本迭代或开发者调整而产生变化。涉及第三方原创图像、设计模板、远程服务等内容的使用,需获得作者授权。
THE END
暂无评论内容