可能有部分站长用了七牛CDN之后,会发现在搜索引擎搜索的结果中缩略图越来越少,甚至消失。。。经过张戈多次思考分析,发现居然是因为使用了七牛CDN导致的,本文就简单分享下这个坑。 在此之前,张戈博客曾2次分析过网站使用七牛CDN之后,静态二级域名robots的写法: 百度站长平台robots工具升级后的新发现 浅谈网站使用七牛云存储之后的robots.txt该如何设置? 确实也是可以了,百度图片收录也正常了。 后来博客换成了php缩略图,并通过Nginx将缩略图重写成了 x.png?w=480 的形式【相关文章】。 接着,将缩略图全部丢到了二级静态域名 res.zgboke.com 上,最后将静态域名的robots设置如下: 结果,很久很久之后就发现百度搜索中,缩略图越来越少,甚至到最后几乎没有了。经验告诉我,要么就是蜘蛛抓取不到图片,要么就是被robots禁封了。 结合百度站长平台的robots工具和抓取诊断工具检查后,发现果然是robots误禁封造成的! 百度索引变动一直以慢著称,所以robots写错了也不会在十天半个月突显出来,真是坑的一B! 通过抓取诊断工具,发现普通图片可以抓取,带参数的图片就抓取失败。经过多次测试,发现问题出现在 Allow: /*.png$ 这种写法,是以 png 结尾,尾部不再包含其他任何字符,因此,上文提到的 PHP+Nginx 缩略图形式 x.png?w=480 ,就处在 robots 禁止抓取的范围了: 于是,我将静态域名robots修改如下: 因为最后一行是禁止所有,所以保守起见,robots.txt我也加入了允许规则。第二行则是关键,一般博客的缩略图和图片都在 wp-content 路径下,不管是不是带参数,都统统允许了。 经过了几个月,目前百度搜索的缩略图基本都恢复正常了: 所以,发现搜索引擎缩略图收录异常的朋友,可以先分析下是不是蜘蛛被robots或其他因素拦截了。 最新补充:启福留言说其实把尾巴的$改成通配符*就好了。确实如此,所以静态域名的robots可以修改如下: 这样就可以让蜘蛛仅抓取图片了,范围比 wp-content 更精准一些。总之,对哪种写法存在疑问,只要借助百度站长平台的robots工具检测一下就一清二楚了。 最后强调说明一下,本文说的robots是适用于只存放图片等静态文件的二级域名(比如:res.zgboke.com)!别乱用到主站的robots,被K站了别来哭哦! 再次更新:突然想起一件事,记得之前用过谷歌的移动设备适合性测试工具,是需要抓取css和js的,否则显示出来的布局就是乱的了:而且百度的移动友好度测试工具(目前好像已经隐藏,看不到了)也需要抓取css和js,所以css和js还是得放开,最终版修改如下: 其中,Allow: /wp-content/ 自己看着办吧,个人建议加上,避免遗漏主题特有静态文件,比如字体。
