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

建站笔记2年前 (2023)更新 小萝卜头
372 0 0

可能有部分站长用了七牛 CDN 之后,会发现在搜索引擎搜索的结果中缩略图越来越少,甚至消失。。。经过张戈多次思考分析,发现居然是因为使用了七牛 CDN 导致的,本文就简单分享下这个坑。
在此之前,张戈博客曾 2 次分析过网站使用七牛 CDN 之后,静态二级域名 robots 的写法:

百度站长平台 robots 工具升级后的新发现
浅谈网站使用七牛云存储之后的 robots.txt 该如何设置?

确实也是可以了,百度图片收录也正常了。
后来博客换成了 php 缩略图,并通过 Nginx 将缩略图重写成了 x.png?w=480 的形式【相关文章】。
接着,将缩略图全部丢到了二级静态域名 res.zgboke.com 上,最后将静态域名的 robots 设置如下:
User-agent: *
Allow: /*.png$
Allow: /*.jpg$
Allow: /*.jpeg$
Allow: /*.gif$
Allow: /*.bmp$
Disallow: /
结果,很久很久之后就发现百度搜索中,缩略图越来越少,甚至到最后几乎没有了。经验告诉我,要么就是蜘蛛抓取不到图片,要么就是被 robots 禁封了。
结合百度站长平台的 robots 工具和抓取诊断工具检查后,发现果然是 robots 误禁封造成的!
百度索引变动一直以慢著称,所以 robots 写错了也不会在十天半个月突显出来,真是坑的一 B!
通过抓取诊断工具,发现普通图片可以抓取,带参数的图片就抓取失败。经过多次测试,发现问题出现在 Allow: /*.png$ 这种写法,是以 png 结尾,尾部不再包含其他任何字符,因此,上文提到的 PHP+Nginx 缩略图形式 x.png?w=480 ,就处在 robots 禁止抓取的范围了:
于是,我将静态域名 robots 修改如下:

User-agent: *
Allow: /robots.txt
Allow: /wp-content/
Allow: /*.png$
Allow: /*.jpg$
Allow: /*.jpeg$
Allow: /*.gif$
Allow: /*.bmp$
Disallow: /

因为最后一行是禁止所有,所以保守起见,robots.txt 我也加入了允许规则。第二行则是关键,一般博客的缩略图和图片都在 wp-content 路径下,不管是不是带参数,都统统允许了。
经过了几个月,目前百度搜索的缩略图基本都恢复正常了:
所以,发现搜索引擎缩略图收录异常的朋友,可以先分析下是不是蜘蛛被 robots 或其他因素拦截了。
最新补充:启福留言说其实把尾巴的$改成通配符*就好了。确实如此,所以静态域名的 robots 可以修改如下:
User-agent: *
Allow: /robots.txt
Allow: /*.png*
Allow: /*.jpg*
Allow: /*.jpeg*
Allow: /*.gif*
Allow: /*.bmp*
Disallow: /
这样就可以让蜘蛛仅抓取图片了,范围比 wp-content 更精准一些。总之,对哪种写法存在疑问,只要借助百度站长平台的 robots 工具检测一下就一清二楚了。
最后强调说明一下,本文说的 robots 是适用于只存放图片等静态文件的二级域名(比如:res.zgboke.com)!别乱用到主站的 robots,被 K 站了别来哭哦!
再次更新:突然想起一件事,记得之前用过谷歌的移动设备适合性测试工具,是需要抓取 css 和 js 的,否则显示出来的布局就是乱的了:而且百度的移动友好度测试工具(目前好像已经隐藏,看不到了)也需要抓取 css 和 js,所以 css 和 js 还是得放开,最终版修改如下:

隐藏内容!
评论后才能查看!

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

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...