web-dev-qa-db-ja.com

GoogleリッチスニペットとFacebookオープンメタグラフ

Google Rich Snippets のサポートを実装して、Googleの検索エンジンの結果ページに著者情報と5つ星の評価を表示します。また、画像付きのノードが「いいね」またはFacebookに埋め込まれたときにFacebookが正しい画像を選択するように FacebookのOpen Graph をサポートできるようにしたいと考えています。

Schema.orgmicrodata または RDFx モジュールを使用できるようです。私はまた、投稿に遭遇しました プリプロセスフックを使用することをお勧めします

Schema.orgモジュールはファイブスター評価をサポートしていないようです。 microdataは比較的新しく、RDFXモジュールについて少し混乱しています。

誰もがこれで経験がありますか?

3
uwe

上記の回答では、モジュールが示されています。ただし、私の経験では、それらは一般的なものにすぎないため、fivestarでは機能しません。したがって、そのような場合に私が通常行うことは、次のとおりです。

  1. node--type.tpl.phpのように、そのノードタイプのテンプレートを作成します
  2. hook_preprocess_HOOK ()を実装して、テーマのtemplate.phpファイルに前処理関数を作成します。これは、mytheme_preprocess_node(&Svariables)のような実際の関数名に変換されます。
  3. その関数で、$ variables ['node']を使用して、ファイブスターウィジェットフィールドからデータを取得します。
  4. そのデータを出力用にフォーマットして準備し、カスタム変数を$ variables配列に追加します。
  5. 前処理関数で指定した変数を使用して、opengraph/rich snippets形式に対応するようにノードファイルに正しいマークアップを挿入します。

いくつかのメモ:

  1. devel module およびdpm()関数を使用して、$ variables前処理関数とテンプレートファイルのデータ。

  2. google markup tool および facebook markup tool を使用してマークアップをテストします。

  3. ロジックは、前処理で変数を準備し、それらをテンプレートファイルのマークアップに配置します。テンプレートファイル自体に計算(ビジネスロジック)を含めないようにして、その前処理を使用してください。

2
Alexei Rayu

http://drupal.org/project/opengraph_meta ->ノードに関連付けられた画像を取得するか、デフォルトを指定できます

http://drupal.org/project/richsnippets -> Googleリッチスニペット

0
Serjas