Interesting issue today. I wanted to update Facebook's cached version of OGP metadata on one of my websites. They have a really handy tool available at https://developers.facebook.com/tools/debug/og/object/ that allows you to "Fetch New Scrape Information" and usually be updated in a matter of seconds.

My problem was; whenever I'd scrape new information it would fail to parse my OGP data. I double checked HTML source and it was right there, plain as daylight, so I couldn't understand why it wouldn't parse.

Facebook also has another very, less obvious, tool. An ability to see exactly what's scraped using: https://developers.facebook.com/tools/debug/og/echo?q=[urlencoded URL]

Reviewing this it was quite clear that some server-side logic I was using to set file paths was failing, but I couldn't understand why. Once I echoed out the SERVER_ADDR it all became pretty obvious!

Facebook's tools were using the IPv6 address of my website rather than IPv4. After tweaking the logic to include some IPv6 detection everything worked perfectly after "Fetch New Scrape Information" and my OGP cache on Facebook was updated!