Facebook Open Graph API - og: метатеги игнорируются - PullRequest
7 голосов
/ 03 ноября 2011

Я устраняю проблему, из-за которой заголовок страницы и изображение не добавляются в лайки на Facebook. После отладчика OG похоже, что ни один из og: метатегов не доступен через Facebook:

Вот ссылка на отладчик - он говорит, что выводит свойства og:url и og:title, которые присутствуют на странице.

В ходе тестирования я скопировал метатеги и схему HTML прямо из примера в документации для разработчиков, и я все еще получаю те же предупреждения.

Вот HTML-код и начало тега head, как было сгенерировано:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle</title>
<meta name="description" content="Transactiv Products" />
<meta name="title" content="Transactiv" />
<meta property="fb:app_id" content="289501899130" />
<meta property="og:site_name" content="Transactiv InRecv" />
<meta property="og:url" content="http://localhost:2609/Pages/ProductSummary.aspx?OrganizationProductID=617c54a0-189a-48af-9b5e-002148210208&StoreID=a1d6bc99-9a6a-4e46-bdb4-790be4e59bd4&ProductID=d6748a89-41f4-48aa-a1c1-5c28f87cc47f&PageName=MHMTest&PageID=236549899706529" />
<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />
<meta property="og:type" content="website" />
<meta property="og:description" content="" />
<meta property="og:image" content="http://transactivazureprod.blob.core.windows.net/pictureblob/831a4d4a-dbe3-44f5-9ff8-12286cdc33f5" />

Есть идеи по этому поводу?

Ответы [ 4 ]

6 голосов
/ 20 октября 2012

Facebook читает все свойства, вы можете ввести свой URL здесь: https://developers.facebook.com/tools/debug

Facebook будет читать указанные вами свойства, но иногда будет использовать их только тогда, когда указаны все 4 (и не пустые), а не только последние 3 .

<meta property="og:url" content="YOUR_URL" />
<meta property="og:title" content="YOUR_TITLE" />
<meta property="og:description" content="YOUR_DESCRIPTION" />
<meta property="og:image" content="YOUR_IMAGE" />
5 голосов
/ 03 ноября 2011

Очевидный недостаток.Вы не заканчиваете заголовок.Вы получили ".

Я бы предложил сделать str_replace('"', "''", $str) перед тем, как его повторить.

То есть

<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />

до

<meta property="og:title" content="123-ABC Butterfly Fun Carpet 3'10'' x 5'5'' Rectangle" />

РЕДАКТИРОВАТЬ:

Вы также можете рассмотреть htmlentities($str, ENT_QUOTES), как предложено @ TwoWholeWorms,

1 голос
/ 04 ноября 2011

Скребок Facebook видит страницу с ошибкой при попытке посетить ваш сайт .

Вы можете получить доступ к просмотру своих страниц в Facebook скребком по ссылке «Посмотрите точно, что видит наш скребок» в нижней части страницы отладки.

Кроме того, это не просто проблема, связанная со скребком, поскольку я также вижу то же самое сообщение, когда посещаю ссылку: http://transactivstaging.cloudapp.net:8080/Pages/ProductSummary.aspx?OrganizationProductID=617c54a0-189a-48af-9b5e-002148210208&StoreID=a1d6bc99-9a6a-4e46-bdb4-790be4e59bd4&ProductID=d6748a89-41f4-48aa-a1c1-5c28f87cc47f&FBUserId=100002152993326&PageName=MHMTest&PageID=236549899706529&CurrentPage=0

ShoppingCart.GetShoppingCartItems.Failed If this Error persists, you can contact our support and provide the following Error Id as a reference
0 голосов
/ 30 января 2012

Я бы предположил, что наряду с " в значениях заголовков, упомянутых Робин Кастлин (от которых вы также можете выйти как &quot;), что ваш og:url содержит неэкранированные амперсанды.

Будет ли работать, если вы замените & на &amp; в этом поле og:url?

Так вы бы заменили

<meta property="og:title"
  content="123-ABC Butterfly Fun Carpet 3'10" x 5'5" Rectangle" />
<meta property="og:url"
  content="http://localhost:2609/Pages/ProductSummary.aspx?
  OrganizationProductID= ... &StoreID= ..." />

до

<meta property="og:title"
   content="123-ABC Butterfly Fun Carpet 3'10&quot; x 5'5&quot; Rectangle" />

<meta property="og:url"
  content="http://localhost:2609/Pages/ProductSummary.aspx?
  OrganizationProductID= ... &amp;StoreID= ..." />

чтобы убедиться, что все метаданные содержат действительный HTML.

...