Error Linting URL: An internal error occurred while linting the URL

vabsh picture vabsh · Dec 5, 2012 · Viewed 9.2k times · Source

How to debug the facebook debugger?

Detailed description of the problem:

I use the "Open Graph Protocol In Posts and Pages" plugin to manually enter OG data for the posts on my self-hosted wordpress site. Before sharing them on Facebook, I test the post's url in the FB debugger tool and the results are always correct.

However, recently the debugger returned this error message: "Error Linting URL: An internal error occurred while linting the URL" and I can't get rid of it for days. I tried to debug again for several times, it doesn't help. It's stucked. I googled for a solution but I couldn't find any. I may be wrong, but this error message seems to be rare.

I'm not an expert, but I think that the debugger tool somehow got confused by the double OG data in my post:

  1. The OG info that I manually inserted into the plugin "Open Graph Protocol In Posts and Pages".
  2. The OG info automatically generated by the JWPLayer wordpress plugin when a video is inserted into the post.

I need the first one only, I ussualy delete the JWPlayer's custom fields, but this time I forgot to do that.

After the debugger returned an error message, I deleted the JWP custom fields, hoping that they caused some conflict, I saved the post and tried to debug again. The debugger returned the error message again.

The Graph API sees outdated information about my post and it won't flush it, though I corrected everything in my post and I debugged several times afterwards. It seems to me, that the debugger saw an error in my url and won't forget it.

I even deleted the post, copied and pasted its content to a new post and gave it the same title (losing those visitors who may follow the short permalink but anyway). The debugger reacts the same way to the republished post. Error message again. I tested my other posts in the debugger, everything is perfect. its obvious that the debugger remembered this particular url for something. If I republish the post under a different title in the url, the problem will go away.

I shared that problematic url to Facebook and strangely it shows correct data. Everything seems OK: title, description, thumbnail etc... However, I tested the share button in my post and it displays the wrong data on Facebook, though I corrected it already. The debugger sees data which is not in the post anymore. for that reason, I was forced to remove the share button, so the visitors would not share wrong info on Facebook.

Now I'm in a paradoxal situation, trying to find a way to debug the debugger. How to flush its memory so it can forget my url and I can have a fresh start from zero?

As you see, I'm not an expert in these matters. I spent enormous time and resources to build my site without any previous knowledge of php and css and now everything goes to hell because of these facebook bugs. I'm losing precious time dealing with this nonsence. Why everything must be so complicated? I ask all the developers, please make one good, simple, user-friendly and working standard and stick to it. Please stop complicating. What is this error message now? The debugger offers absloutely no explanation and no solution. Instead of sloving problems, its stucked and became a problem itself. The only thing that one can do is to wait hoping that the error will go away by itself. This is a pure nonsence.

ADDITIONAL DETAILS:

This is what the Graph API sees in my url. Though that data is not valid anymore, the debugger still remembers it. You can see the video OG automatically inserted by the JWPLayer plugin:

{
   "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"

And this is what the debugger should see now after the corrections, but it fails to do so. However, it shows correctly when the url is pasted in 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"
}

When shared through a button, it shows the previous, wrong data.

Answer

karmiphuc picture karmiphuc · Feb 29, 2016

Force the Facebook crawler to re-fetch your data:

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

The Facebook crawler will re-scrape (and therefore update) objects:

When the object URL is input in the Object Debugger Every 30 days after the first scrape When an app triggers a scrape using an API endpoint This Graph API endpoint is simply a call to:

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

The id parameter can be either the canonical URL of your object or the ID of the object instance in the graph.