纠正静态文件域名robots写法,解决百度搜索不显示缩略图的问题

可能有部分站长用了七牛 CDN 之后,会发现在搜索引擎搜索的结果中缩略图越来越少,甚至消失。。。经过张戈多次思考分析,发现居然是因为使用了七牛 CDN 导致的,本文就简单分享下这个坑。纠正静态文件域名robots写法,解决百度搜索不显示缩略图的问题

在此之前,张戈博客曾 2 次分析过网站使用七牛 CDN 之后,静态二级域名 robots 的写法:

确实也是可以了,百度图片收录也正常了。

后来博客换成了 php 缩略图,并通过 Nginx 将缩略图重写成了 x.png?w=480 的形式【相关文章】。

接着,将缩略图全部丢到了二级静态域名 res.zhangge.net 上,最后将静态域名的 robots 设置如下:

结果,很久很久之后就发现百度搜索中,缩略图越来越少,甚至到最后几乎没有了。经验告诉我,要么就是蜘蛛抓取不到图片,要么就是被 robots 禁封了。

结合百度站长平台的 robots 工具和抓取诊断工具检查后,发现果然是 robots 误禁封造成的!

百度索引变动一直以慢著称,所以 robots 写错了也不会在十天半个月突显出来,真是坑的一 B!

通过抓取诊断工具,发现普通图片可以抓取,带参数的图片就抓取失败。经过多次测试,发现问题出现在 Allow: /*.png$ 这种写法,是以 png 结尾,尾部不再包含其他任何字符,因此,上文提到的 PHP+Nginx 缩略图形式 x.png?w=480 ,就处在 robots 禁止抓取的范围了:纠正静态文件域名robots写法,解决百度搜索不显示缩略图的问题

于是,我将静态域名 robots 修改如下:

因为最后一行是禁止所有,所以保守起见,robots.txt 我也加入了允许规则。第二行则是关键,一般博客的缩略图和图片都在 wp-content 路径下,不管是不是带参数,都统统允许了。

经过了几个月,目前百度搜索的缩略图基本都恢复正常了:纠正静态文件域名robots写法,解决百度搜索不显示缩略图的问题

所以,发现搜索引擎缩略图收录异常的朋友,可以先分析下是不是蜘蛛被 robots 或其他因素拦截了。

最新补充:启福留言说其实把尾巴的$改成通配符*就好了。确实如此,所以静态域名的 robots 可以修改如下:

这样就可以让蜘蛛仅抓取图片了,范围比 wp-content 更精准一些。总之,对哪种写法存在疑问,只要借助百度站长平台的 robots 工具检测一下就一清二楚了。

最后强调说明一下,本文说的 robots 是适用于只存放图片等静态文件的二级域名(比如:res.zhangge.net)!别乱用到主站的 robots,被 K 站了别来哭哦!

再次更新:突然想起一件事,记得之前用过谷歌的移动设备适合性测试工具,是需要抓取 css 和 js 的,否则显示出来的布局就是乱的了:纠正静态文件域名robots写法,解决百度搜索不显示缩略图的问题而且百度的移动友好度测试工具(目前好像已经隐藏,看不到了)也需要抓取 css 和 js,所以 css 和 js 还是得放开,最终版修改如下:

其中,Allow: /wp-content/ 自己看着办吧,个人建议加上,避免遗漏主题特有静态文件,比如字体。

评论已关闭!