Документация немного сбивает с толку.
og:locale
не следует устанавливать в качестве локали по умолчанию;он должен быть настроен на ту локаль, которую вы сейчас возвращаете.
В частности, если Facebook запрашивает fb_locale=fr_FR
, вам нужно вернуть <meta property="og:locale" content="fr_FR">
в ответе.
Это имеет смысл.Когда Facebook видит og:locale="en_US"
в ответе, он думает, что у вас нет французской страницы для возврата, поэтому он использует уже полученный английский контент.Это просто не очень хорошо документировано.
Вот мои языковые теги Open Graph для английского языка:
<meta property="og:locale" content="en_US" />
<meta property="og:locale:alternate" content="en_US" />
<meta property="og:locale:alternate" content="fr_CA" />
И для французского:
<meta property="og:locale" content="fr_CA" />
<meta property="og:locale:alternate" content="en_US" />
<meta property="og:locale:alternate" content="fr_CA" />
О получении Facebookчтобы на самом деле использовать нужный контент в диалоге, ваш пробег может варьироваться, но это по крайней мере заставит скребок распознать ваш контент.