错误链接URL:在linting URL时发生内部错误

vab*_*bsh 28 debugging facebook lint facebook-opengraph

如何调试 facebook 调试器

问题的详细说明:

我使用"帖子和页面中的开放图谱协议"插件手动输入我自己托管的wordpress网站上的帖子的OG数据.在Facebook上分享之前,我在FB调试工具中测试帖子的url,结果总是正确的.

但是,最近调试器返回了以下错误消息:"错误链接URL:在绘制URL时发生内部错误",我几天都无法摆脱它.我尝试再次调试几次,但没有帮助.它被卡住了.我用谷歌搜索解决方案,但我找不到任何解决方案.我可能错了,但这个错误信息似乎很少见.

我不是专家,但我认为调试工具在某种程度上被我帖子中的双OG数据搞糊涂了:

  1. 我手动插入插件"在帖子和页面中打开图形协议"的OG信息.
  2. 当视频插入帖子时,JWPLayer wordpress插件自动生成OG信息.

我只需要第一个,我ussualy删除JWPlayer的自定义字段,但这次我忘了这样做.

在调试器返回错误消息后,我删除了JWP自定义字段,希望它们引起一些冲突,我保存了帖子并尝试再次调试.调试器再次返回错误消息.

Graph API看到有关我的帖子的过时信息,它不会刷新它,虽然我纠正了我的帖子中的所有内容,然后我调试了几次.在我看来,调试器在我的URL中看到了一个错误,并且不会忘记它.

我甚至删除了帖子,将其内容复制并粘贴到一个新帖子并给它相同的标题(失去那些可能跟随短暂固定链接的访问者,但无论如何).调试器以相同的方式对重新发布的帖子做出反应.再次出现错误消息 我在调试器中测试了我的其他帖子,一切都很完美.显而易见的是,调试器记住了这个特定的url.如果我在网址中的不同标题下重新发布帖子,问题就会消失.

我向Facebook分享了这个有问题的网址,奇怪的是它显示了正确的数据.一切似乎都没问题:标题,描述,缩略图等...但是,我测试了我的帖子中的分享按钮,它在Facebook上显示错误的数据,虽然我已经纠正了它.调试器会看到不再在帖子中的数据.出于这个原因,我被迫删除了分享按钮,因此访问者不会在Facebook上分享错误的信息.

现在我处于矛盾状态,试图找到一种调试调试器的方法.如何刷新它的内存,以便它可以忘记我的网址,我可以从零开始一个新的开始?

如你所见,我不是这些问题的专家.我花了很多时间和资源来构建我的网站,而没有任何PHP和CSS的知识,现在一切都因为这些facebook错误而下地狱.我正在失去处理这种不足的宝贵时间.为什么一切都必须如此复杂?我问所有开发人员,请制作一个好的,简单的,用户友好的工作标准并坚持下去.请停止复杂化.现在这个错误信息是什么?调试器提供绝对没有解释和解决方案.它没有解决问题,而是陷入困境并成为一个问题本身.人们唯一能做的就是等待希望错误会自行消失.这是纯粹的不存在.

额外细节:

这就是Graph API在我的网址中看到的内容.虽然该数据不再有效,但调试器仍会记住它.您可以看到JWPLayer插件自动插入的视频OG:

{
   "url": "http://mydomain/post-title/",
   "type": "video.movie",
   "title": "",
   "image": [
      {
         "url": "http://mydomain/uploads-folder/post-title-video-thumbnail.jpg"
      },
      {
         "url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
      }
   ],
   "video": [
      {
         "url": "http://mydomain/uploads-folder/jw-player-plugin-for-wordpress/player/player.swf?file=http\u00253A\u00252F\u00252Fmydomain\u00252Ffiles\u00252Fvideo-title.flv&controlbar=bottom&dock=false&autostart=false&height=331&width=545&captions.back=false&captions.fontsize=12&captions.state=true&icons=true&playlist.position=none&playlistsize=180&repeat=none&shuffle=false&bufferlength=1&smoothing=true&stretching=uniform&wmode=opaque&mute=false&volume=90&plugins=captions-1\u00252Cgapro-2\u00252C&gapro.accountid=UA-76476476476-1&gapro.trackstarts=true&gapro.trackpercentage=true&gapro.tracktime=true",
         "type": "application/x-shockwave-flash",
         "width": 545,
         "height": 331
      }
   ],
   "description": "",
   "site_name": "here's the name",
   "updated_time": "2012-12-05T20:09:40+0000",
   "id": "754654658476545"
Run Code Online (Sandbox Code Playgroud)

这是调试器在更正后应该看到的内容,但它没有这样做.但是,当网址粘贴在Facebook上时,它会正确显示:

{
   "url": "http://mydomain/post-title/",
   "type": "website",
   "title": "here's the title",
   "image": [
      {
         "url": "http://mydomain/uploads-folder/post-thumbnail.jpg"
      }
   ],
   "description": "This is a story about...",
   "site_name": "my site",
   "updated_time": "2012-12-05T20:11:56+0000",
   "id": "754654658476545"
}
Run Code Online (Sandbox Code Playgroud)

通过按钮共享时,它会显示以前的错误数据.

小智 1

强制 Facebook 爬虫重新获取您的数据:

https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

Facebook 爬虫将重新抓取(并因此更新)对象:

当在对象调试器中输入对象 URL 时 第一次抓取后每 30 天 当应用程序使用 API 端点触发抓取时 此 Graph API 端点只是对以下内容的调用:

POST /?id={object-instance-id or object-url}&scrape=true

id 参数可以是对象的规范 URL,也可以是图中对象实例的 ID。