我最近在一个卑鄙的堆栈应用程序上工作,这是一种以某种方式的博客,作者发表文章。为了克服未刮擦JavaScript的OpenGraph应用程序的问题,我在我的NGINX反向代理上实现了一个静态PHP页面和规则,该页面将某些用户代理(例如Facebook,Google Twitter,Twitter等)重定向到静态页面,in static page,in为了正确刮擦数据。
一切都很好,除了一个小细节外,基于OpenGraph的应用程序似乎无法刮擦文章中的图像,因此丰富的社交共享无法正常进行。
例如,测试以下链接:https://moveramontanha.pt/article/5A21539CFDEBBBB1074ED1436D
将重定向到静态页面:
https://www.moveramontanha.pt/static_mam.php?id=5A21539CFDEBB1074ED1436D
- Facebook共享调试器给出以下错误 - 随机:
提供的不支持图像文件扩展名:图像URL, https://www.moveramontanha.pt/uploads/authors/1512141975423.jpg做 没有支持的扩展。
或
提供的" OG:Image"属性尚不可用,因为新 图像是异步处理的。确保新URL的股份 包括图像,使用" OG:Image:width"和 'OG:图像:高度'标签。
- Twitter卡验证器日志:(无图像)
信息:成功获取的页面成功信息:找到了17个metatags信息: Twitter:card =摘要标签找到信息:卡已加载的卡成功警告: 这张卡被重定向到 https://www.moveramontanha.pt/static_mam.php?id=5A21539CFDEBBB11074ED1436D
我尝试添加额外的标签,例如图像宽度/高度,更改的图像格式,安全标签等。
没有任何作用。其他人遇到了这样的问题吗?
预先感谢!
对于Twitter的卡爬车手,这里和这里都有深入的故障排除常见问题。
我只是尝试了以下请求来获取页面中引用的图像:
curl -L -A Twitterbot -v https://www.moveramontanha.pt/uploads/authors/1501255270817.jpg
这返回HTML页面,而不是JPEG图像。这意味着Twitter的卡爬虫无法获取有效的图像。
您应该修复服务器以将有效的JPEG映像返回到Twitterbot用户代理。