2011-10-09 14 views
0

私はウェブとStackOverflowを精算して答えを出しましたが、私の状況に正確に当てはまるケースは見つかりませんでした。私はFBが私のメタタグを掻き集める方法をデバッグするFacebook Linterを使用しています。私が簡単なAboutページでそれを使うと、特に、og:urlメタタグのような細かい情報が得られます。Facebook Linter/Open GraphはURLパスを切り捨てます

参照:私は私の通常のコンテンツページをこすりとき http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fabout%2Fprivacy_policy

トラブルが開始されます。私のタグがうまく形成されていることを三重にチェックしたにもかかわらず、FB LinterはURIをURLから切り離すので、og:urlタグにはドメイン名electionstats.com/だけが含まれています。

参照: http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fsearch%2Fyear_from%3A2010%2Fyear_to%3A2010%2Foffice_id%3A6

OG:私はそれが原因で私について上で、FBは、ページをキャッシュの問題であることを懐疑的

:ページ上で実際にされているURLのタグはこのようになりますページ私はメタタグの出力を変更してから、Linterを通して同じページを再実行するようにすばやくコードを変更しました。しかし何らかの理由で、メインのコンテンツページ(/ search/pages)で数十の異なるURLの組み合わせを試してみると、私はいつもカットオフURLを得て、私のホームページからメタフィールドだけを取得します。

私はFBが "検索"ページのように見えるURLを無視すると理論化していたので、URLとタイトルタグを "検索"の代わりに "探索"という用語を使用するように再配線しましたが、何もしなかった - URIはまだ切り刻まれるだろう。

答えて

0

オイ、これは恥ずかしいです。

各ページ要求の冒頭に、ユーザーのブラウザがCookieを受け入れるかどうかを検出するコードがあります。もしそうでなければ、それはユーザをホームページに戻す。 FacebookのWebクローラは、他のWebクローラと同様、Cookieを使用しません。したがって、それはホームページに戻って終了し、ホームページのog/metaタグを読んでいました。私のコードの意図しない大きな結果は、Googleを含む私のウェブサイトの感覚を得ようとしているすべてのWebクローラーを追い出すということでした。

修正:ユーザーエージェント文字列がhttp://www.cult-f.net/detect-crawlers-with-php/

例えば、一般的なウェブクローラが提供する一部UAと一致した場合にクッキーの取り扱いチェックをスキップ
関連する問題