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

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

近期发现,搜索引擎竟然把网站的 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 用户值得借鉴的做法。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容