Facebook OGPでog:localeの警告がでる
Facebookのいいね!などでページの情報を適切にするために設定するオープングラフプロトコル(OGP)ですが、そのog:localeプロパティで警告がでたのでメモしておきます。
適切なOGPが設定されているかどうかはFacebookのオブジェクトデバッガーで確認することができます。
1ヶ月ほど前、最初に設定したときは問題なかったのですが、今日確認したら警告がでていました。内容は下記のような感じです。
The parser’s result for this metadata did not match the input metadata. Likely, this was caused by the data being ordered in an unexpected way, multiple values being given for a property only expecting a single value, or property values for a given property being mismatched. Here are the input property =>content pairs that were not seen in the parsed result: ‘og:locale:locale => ja_JP’
このメタデータに対するパーサーの結果は入力メタデータと一致しませんでした。おそらくデータが予期しない方法で並べられていたり、単一の値を設定すべきプロパティに複数の値が設定されていたり、プロパティの値がプロパティに一致していなかったりすることに起因しています。解析結果に見られなかった入力 property=>content ペアは ‘og:locale:locale => ja_JP’ です。
もちろんog:localeはどこのサイトでも紹介されているようにちゃんとja_JPに設定してあります。
1 |
<meta property="og:locale" content="ja_JP" /> |
警告内容の日本語訳は直訳チックですが、要するに指定したOGPデータとパーサーで処理されたあとのOGPデータが一致していない、ということでしょう。
たしかにog:locale:localeというプロパティは定義していませんが、metaタグのog:localeをog:locale:localeに変えても解決しませんでした。
英語でもググりましたが、結局いまのところ原因不明です。
実害はないようなので、とりあえず放置しますが、だれか解決策をご存じの方がいらっしゃいましたら教えてください。
2012.5.25 追記
Facebookで大島仁さんからいただいた情報です。
og:localeのmetaタグを削除すれば、エラーは解消します。もっとも仕様の変更なのか、不具合なのかはよくわかりません。
大島仁さんの情報。詳しくはこちら。
新規記事は場合は公開時に「”og:locale” content=”ja_JP”」の meta タグを入れ、その後に削除する必要があります。
今のところ、これ▲が現実的な回避策かもしれません。