防止搜索引擎抓取静态资源 CDN 域名下的网页

近期发现,搜索引擎竟然把网站的 CDN 子域名也当成正文内容收录了,这对 SEO 来说是个大忌。因为同一内容出现在多个域名时,搜索引擎会识别为“镜像内容”,进而可能给网站降权。

许多使用 WordPress 的站长都会启用 CDN 缓存。通过 CDN 实现动静分离的模式下,由于 CDN 域名与主站回源 IP 相同,访问时会直接输出 HTML,导致百度也抓取到了这些静态页面。而如果不使用静态缓存,访问 CDN 域名会自动跳转回主站。


1. 针对 CDN 域名,配置 robots2.txt

我们可以新建一个 robots2.txt,内容如下:

[pre]

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: /

[/pre]

 

这样便允许搜索引擎抓取静态资源(如图片、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 文章添加阅读时间与字数统计(免插件)

2025-7-27 23:47:01

教程福利

CodeBuddy IDE 内测获取!限时领取内测开启,速来尝鲜!

2025-8-1 0:08:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索