0

Facebook にリンクを入力すると、このリンクのタイトル、サイト名、説明、画像が表示されます。私が知っているのは、Facebookがリンク情報を取得するために2つの方法を使用していることです。

1-ogタグの使用

2-htmlのheadタグ内のmetaタグを利用。

しかし、たとえば、説明に関するタグやメタタグがなくog、Facebook がその説明とタイトルを表示する Web サイトがあります。

og私の質問ですが、ウェブサイトにタグやメタ タグがない場合、どこから説明情報を取得しますか?

たとえばFacebookの投稿にこのリンクを投稿すると、ページのソースにタグやメタタグhttp://php.net/が見つかりませんが、説明が表示されます。og:descriptionまた、この質問のリンクを facebook に投稿すると、質問自体が表示されます。facebook はどのようにこれを行うのですか?

4

3 に答える 3

1

ユーザー エージェントをスニッフィングし、Facebook がページを見ているかどうかを検出ogし、ソース内のタグを条件付きでレンダリングすることは技術的に可能です。

たとえば、Facebook に関連するすべてのタグを通常のユーザーに対して個人的に非表示にしました。ユーザー エージェントをスニッフィングすることで、Facebook が自分のサイトを参照したときにのみ Facebook タグを表示します。私がこのルートを選んだ理由は、W3C Validation の失敗を防ぎ (私はそのような肛門です)、通常の訪問者への HTML の肥大化を防ぐためでした。これは、私がどのようにやりたかったかの単なる好みであり、本質的に正しいか間違っているわけではありません.

つまり、ogサイトのソースにタグが表示されないからといって、Facebook が同じサイトのソースを調べたときにタグが表示されないわけではありません。

于 2013-05-13T20:11:48.320 に答える
0

彼らは URL でページの HTML を取得し、それを解析して通常の容疑者を取得していると思います。

  • からのタイトル<title>
  • おそらく<title>またはいくつかの<head>タグからのサイト名
  • からの説明<meta name="description" />
  • 任意の<img>タグからの画像

これはw3c 標準に従う必要があるもう 1 つの理由です。これにより、Facebook などのサード パーティのサイトは、HTML の構造についてユーザーに相談することなく、プログラムで HTML を読み取ることができます。

推奨される og タグは、Facebookが設定したもう 1 つの標準であり、タイトルや画像などの項目のページを読み取るだけでなく、Open Graphオブジェクトアクションの標準も設定します。

于 2013-05-13T19:59:59.087 に答える