調査の結果、多くの人々が同じ問題に直面していることがわかりました。しかし、これまでのところ解決策はありません。これは、サーバーをlinode.comに切り替えた後に発生しました。
例を挙げましょう。 www.acemark2u.comは、linodeサーバーの下でホストされているWebサイトの1つです。 https://developers.facebook.com/tools/debug/og/object/ でデバッグしようとすると、それだけです。スクレイピング情報を正しく取得できなかったため、www.acemark2u.com/about-usのいずれかのページで試した場合、「入力URLの解析エラー、データがキャッシュされていない、またはスクレイピングされたデータがないというエラーが表示される」
奇妙なことが起こります。 IPアドレス106.187.35.114/~acemark2を使用してデバッグしようとすると、すべてがスムーズに進みます。うまくフェッチでき、ページのエラー404はありません。
「gethostbyaddr」関数(ref: http://www.gearhack.com/Forums/DisplayComments.php?file=Computer/Network/Internet/Preventing_Your_Web_Server_From_Blocking_Facebook_Share )が原因であると思われますが、これまでのところ解決策はありません。
ようやく解決策を見つけました。
私のデフォルトのDNS A/AAAAレコードでは、これらのいくつかのIPを削除しませんでした
2400:8900::f03c:91ff:fe73:a95d Default
mail 2400:8900::f03c:91ff:fe73:a95d Default
www 2400:8900::f03c:91ff:fe73:a95d Default
そのため、適切なWebアドレスを介してアクセスする場合、一部のユーザーは上記のIPをポイントします。
同じ問題が発生しているが別の原因が発生している人々のために、私はFacebookがページを「かき集める」方法についていくつかの興味深いことを発見しました。
まず、ページをFBと共有しようとしたことがない場合、FBはページをスクレイピングしようとしたことがなく、デバッグツールにURLを配置するだけの場合は、そうしようとしません。エラーが発生するのは、これが最初の理由です。FBにページの情報がないことを示しているだけであり、FBを「強制」してページをこする必要があります。
初めてページを共有しようとすると、FBがページをスクレイピングします(サーバーにページの最初の40kを要求し、opengraphタグを分析します)。画像が表示されない可能性があります: Facebook共有ダイアログは最初にロードしたときにサムネイルを表示しません
その理由は、舞台裏のFBがまだページをこすり、画像をキャッシュしているためです。次回は、実はあなたもイメージがあります。それを解決するには?事前キャッシュ: https://developers.facebook.com/docs/sharing/best-practices#precaching
または単に追加
<meta property="og:image:width" content="450"/>
<meta property="og:image:height" content="298"/>
この質問はすでに回答を受け入れていますが、この回答がここでだれにも当てはまらない場合は、私にとってうまくいきました。
og:url
で提供したURLは保護されたURLでした。つまり、ログインしているURLが指すページを表示できるのは、それらのユーザーだけです。サインインしたユーザーとサインアウトしたユーザーの両方が表示できる自分のホームページを指すようにURLを変更したとき。 http://www.ercafe.com すべて正常に動作しました。
いずれかのサイトで同様の問題が発生しました。
この問題は、facebookオブジェクトのデバッグツールを使用して「新しいスクレイピング情報を取得する」間、Apache mod_securityを無効にすることで解決しました。
私にとっての解決策は、DNS Aレコードを置き換えることでした
example.sk 3600 1.2.3.4
www.example.sk 3600 1.2.3.4
に
example.sk 3600 1.2.3.4
*.example.sk 3600 1.2.3.4