web-dev-qa-db-ja.com

rel = "canonical"とog:urlの違いは?

検索エンジンとFacebookがURLを処理する方法について、正規URLを理解できません。

私のGoogleマップを利用したサイトでは、訪問者がソーシャルメディアを使用して自国でのギグをリクエストできます。問題のページの1つは、次の場所にあります。 http://izzy.nogig.in/

ユーザーが国マーカーをクリックすると、共有オプション(Twitter/facebook/etc)が表示されます。共有すると、その国専用のURLが共有されます(例:izzy.nogig.in/usa?またはizzy.nogig.in/spain?等.

URLのこれらの国はすべて、重複するコンテンツがたくさんあるため、以下を使用して、ランク付けしたいページに検索エンジンをポイントします。

<link rel="canonical" href="http://izzy.nogig.in/_?"/>

Facebook Likesがそれぞれの国にカウントされるように、次のようにOpen Graphの "og:url"を設定しました。

<meta property="og:url" content="http://izzy.nogig.in/australia?" />

ここで、Facebookオブジェクトデバッガーを使用して国固有のURLを実行すると(例 http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fizzy.nogig .in%2Faustralia%3F )次のように表示されます:-

Response Code:  206
Fetched URL:    http://izzy.nogig.in/australia
Canonical URL:  http://izzy.nogig.in/australia

Mismatch og:url and canonical url:
og:url tag in the header is not the same URL as rel='canonical' link in the html.

上記のエラーは私を混乱させるものです。私はそれらが一致していないことを知っていますが、これはこれを行う正しい方法だと思いました。

デバッガーのすべてが私にはよく見え(各国の正しいリンク、説明、画像など)、単一のページを指す必要があるため、rel = "canonical"の値をog:urlと一致するように変更できません(国なし)検索エンジン用。

すべて正しく機能していると思います。デバッガからのエラーを無視するべきですか、それとも間違って設定する必要がありますか?各国の「いいね」がすべて消えてrel = "canonical" URLにカウントされないようにしたい。

多くの感謝-意志

23
Will

リンクrel="canonical"は検索エンジンで使用され、og:urlはFacebookで使用されます

og:urlは、基本的にFBスクレーパーに「ignore anything on this page, and scrape this url instead」と伝えます

Canonicalリンク要素の詳細: http://en.wikipedia.org/wiki/Canonical_link_element

17
Hamed Ali Khan

私が開発したサイトの1つでは、ページを複数の言語で提供し、ユーザーが1つの言語と他の言語を切り替えることができるリンクを提供しています。したがって、私のrel="canonical"にはhttp://www.example.com/というURLが含まれますが、コード内ではog:urlを更新して、http://en.example.com/またはhttp://fr.example.com/のどちらかになるようにします。そうすれば、ユーザーがFacebookでページを共有すると、すべてがページを表示していた言語でFacebookに表示されます。これは、訪問者の友人のほとんどが同じ言語を話す可能性が高いため、理にかなっています。

よろしく。

3
John Sonderson

正規URLはページコンテンツを参照します。

ターゲット(正規)IRIは、IRIのコンテキスト(参照)でコンテンツの複製またはスーパーセットのいずれかであるコンテンツを識別しなければなりません(MUST)。 rfc6596#

OpengraphのURLは「オブジェクト」を指します。

グラフでパーマネントIDとして使用されるオブジェクトの正規URL。例: " http://www.imdb.com/title/tt0117500/ "。 ogp.me

したがって、それらは異なる場合があります。たとえば、多言語のウェブサイトの場合、コンテンツは異なりますが、通常は同じであるため、各言語のページには異なる正規URLが必要ですog:urlは、複数の言語で記述された同じオブジェクトを参照するため、すべての言語用です。

3
kolen

Og:urlとcanonicalが異なる必要がある理由はわかりません。どちらの場合も、検索エンジンまたはFacebookに対して、インデックスに登録する、または表示するページを指定します。

0
BigBadMe