Facebook oneboxes not working on my forums

AI-generated summary

The issue of Facebook oneboxes not working on certain forums is being discussed. Canapin reported that Facebook oneboxing hasn’t worked on their forums for a long time, despite working on try.discourse and meta. After investigation, Falco suggested that the issue is likely due to the server IP reputation, which can cause Facebook to redirect to a login page instead of allowing the server to fetch the HTML page.

Falco recommended testing the issue using a cURL command on the server, which Canapin tried and reported that it returned nothing. To resolve the issue, Falco suggested either moving to an IP with a better reputation or renting an IP for outgoing oneboxes using the Onebox Assistant.

Canapin expressed interest in exploring the Onebox Assistant solution, but was unsure about the concept of IP reputation and how to determine the reputation of an IP. Stephen noted that the only way to determine IP reputation is by testing.

Facebook oneboxing hasn’t worked for a long time on my forums, but it did work in 2021.

I pretty much gave up, but after installing a development version of Discourse on my computer today, I noticed that Facebook oneboxes were working:

I also noticed it works on try.discourse and on meta.

However, it doesn’t work on unicyclist.com and forum.monocycle.info.

For example, if I try to post this link: https://www.facebook.com/zuck/posts/pfbid036u4L3nsfpuufBVrA41MHiinbK5WMGLtgLnG1vQ6oHjQqwbSewJr3G2CjN5LADFQLl

It works here:

But the result on my forum is always a Facebook box asking us to log-in: Forum to-do list - #19 - Forum Feedback - Unicyclist.com

I don’t understand why Facebook oneboxes don’t work on these forum but it works on others.

Any idea? Couldn’t find any misconfigured setting.

That’s usually due to your server IP reputation. Facebook doesn’t allow your server to get the HTML with the page and instead you are redirected to a login page.

You can try reproducing it with a cURL on the server.

On my desktop I get:

curl -s https://www.facebook.com/zuck/posts/pfbid036u4L3nsfpuufBVrA41MHiinbK5WMGLtgLnG1vQ6oHjQqwbSewJr3G2CjN5LADFQLl | htmlq 'meta[property^="og:"]'
<meta content="Mark Zuckerberg" property="og:title">
<meta content="👋🇫🇷🇪🇦 We're launching Horizon Worlds in France and Spain today! Looking forward to seeing people explore and build immersive worlds, and to bringing this to more countries soon." property="og:description">
<meta content="https://scontent.fcgh7-1.fna.fbcdn.net/v/t39.30808-6/299150825_10114625396804361_144927942652991577_n.jpg?_nc_cat=1&amp;ccb=1-7&amp;_nc_sid=8024bb&amp;_nc_ohc=YfDVgCX1ZkcAX8Zjdz8&amp;_nc_ht=scontent.fcgh7-1.fna&amp;oh=00_AT_alIn_B_hs9SgZj2MULpEABA2PWyNLoKyUkqGBmFkxzA&amp;oe=6324F6BB" property="og:image">
<meta content="https://www.facebook.com/zuck/posts/10114625397253461" property="og:url">

That’s interesting information! A curl returns nothing on my servers.

Is there any way to circumvent this or increase my server IP reputation? Or am I stuck with no Facebook oneboxes?

You either move to a IP with better reputation or your rent an IP for outgoing oneboxes with "Onebox Assistant", crawl for those previews reliably!

I’ll have a look at Onebox Assistant, I used it for Youtube oneboxes during a migration….

I’m not familiar with IP “reputation” concept, but both my servers are hosted on Hetzner, which is, as far as I know, a reputable company. How do I know how reputable is an IP? :thinking:

You can only find out by testing sadly.