php禁止网页抓取( CDN域名下的robots.txt重定向到robots2.)
优采云 发布时间: 2022-01-27 08:09php禁止网页抓取(
CDN域名下的robots.txt重定向到robots2.)
百度收录CDN域名是SEO的大忌。因为相同的内容出现在两个或多个域名中,会受到搜索引擎的惩罚。基本上所有的搜索引擎都会将多个域名指向同一页面的结果判断为镜像,判断为镜像的域名会降级。
很多WordPress网站用户会使用CDN,CDN域名的回源IP地址与主站相同。如果启用了静态缓存,即使使用WordPress后台未设置的站点地址(域名)访问,仍然可以访问。的缓存页面。因为经过静态缓存后,前端并没有执行PHP,而是直接输出HTML。只有没有启用静态缓存的站点才会跳转到设置的站点地址。
如上图,可以看到静态资源的CDN域名是百度收录。
防止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: /
通过 robots 协议,禁止搜索引擎抓取除 .js、.css 或图片之外的所有内容。因为是静态资源的CDN域名,静态资源还是需要公开爬取,否则会影响正常收录。
Nginx 重定向 robots.txt
当然,也不可能把主域名的robots.txt改成上面那样,那么所有的页面都不会被搜索引擎抓取。可以使用 Nginx 的条件判断来指定将 robots.txt 重定向到 robots2.txt 的域名。
if ($http_host !~ "^www.zhanzhangb.com$") {
rewrite /robots.txt /robots2.txt last;
}
以上是将非域名下的robots.txt重定向到robots2.txt。
if ($http_host ~ "^cdn.zhanzhangb.com$") {
rewrite /robots.txt /robots2.txt last;
}
以上就是将域名下的robots.txt重定向到robots2.txt。
Apache 重定向 robots.txt
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.zhanzhangb.com [NC]
RewriteRule robots.txt robots2.txt [L]
设置完成后,使用CDN域名访问robots.txt,看看是否成功。域名对应的robots.txt不要弄错了,否则会造成很大的SEO损失。