Подтвердить что ты не робот

Ошибка открытия Open Graph в Facebook - свойство

Я пытаюсь реализовать протокол Facebook OpenGRaph на моих страницах продуктов.

На каждой странице у меня это над головой:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">

Тогда в разделе главы у меня есть:

<meta property="og:title" content="This Page Title"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://www.mywebaddress.com"/>
<meta property="og:image" content="http://www.myimage.jpg"/>
<meta property="og:site_name" content="My Site Name"/>
<meta property="fb:admins" content="10101010101"/>
<meta property="og:email" content="[email protected]"/>
<meta property="og:description" content="Description of my product."/>

Затем у меня есть кнопка "like" с этим кодом:

        <script>(function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
        fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
        <div class="fb-like" data-href="#" onclick="location.href='http://thispagesurl'; return false;" data-send="true" data-width="350" data-show-faces="false"></div>

На мой взгляд, все, кажется, копирует то, что можно найти на странице Facebook Developers, но когда мне нравится, Facebook, похоже, только набрав название страницы и общую информацию.

Я попытался "отладить" страницу с помощью своего отладчика Object, и я получаю следующие предупреждения:

Inferred Property   The og:url property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property   The og:title property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property   The og:image property should be explicitly provided, even if a value can be inferred from other tags.
Inferred Property   The og:locale property should be explicitly provided, even if a value can be inferred from other tags.

Насколько я могу судить, я последовал инструкциям Facebook на письмо, но у меня нет радости. Может ли кто-нибудь указать, что я делаю что-то неправильно?

Спасибо заранее, Dan

4b9b3361

Ответ 1

Являются ли эти теги "http://www.mywebaddress.com"?

Помните, что linter будет следовать тегу og: url, поскольку этот тег должен указывать на канонический URL-адрес части контента, поэтому, если у вас есть страница, например, 'http://mywebaddress.com/article1' с тегом og:url, указывающим на "http://mywebaddress.com", Facebook отправится туда и прочитает теги там.

В противном случае, самая распространенная причина, по которой я видел, по-видимому, правильные теги, которые не обнаруживаются с помощью linter, - это обнаружение агента пользователя, возвращающее другой контент в сканер Facebook, чем контент, который вы видите, когда вы вручную проверяете

Ответ 2

Вам понадобится пробел после окончательного набора меток кавычек

<meta property="og:url" content="http://www.mywebaddress.com"/>

Должно... это нравится

<meta property="og:url" content="http://www.mywebaddress.com" />

Ответ 3

Существует некоторая путаница в тоннах инструментов Facebook и документации. Так много людей, вероятно, используют инструмент Sharing Debugger, чтобы проверить разметку OpenGraph: https://developers.facebook.com/tools/debug/sharing/

Но он только извлекает информацию о вашем сайте из кеша Facebook. Это означает, что после изменения ogp-разметки на вашем сайте Отладка отладки все равно будет использовать старые кэшированные данные. Более того, если на сервере Facebook нет кэшированных данных, тогда отладчик общего доступа покажет вам ошибку: This URL hasn't been shared on Facebook before.

Итак, решение заключается в использовании другого инструмента - Отладка от Open Graph Object: https://developers.facebook.com/tools/debug/og/object/

Он позволяет вам получать новую информацию о царапинах и обновлять кеш Facebook:

Открытый отладчик объектов Graph

Честно говоря, я не знаю, как найти этот инструмент, изучая раздел "Инструменты и поддержка" developer.facebook.com. Я не могу найти никаких ссылок и упоминаний. У меня есть только этот инструмент в моих закладках. Что Facebook:)


Используйте 'property'-attrs

Я также отметил, что некоторые разработчики используют атрибут name вместо property. Многие парсеры, вероятно, будут обрабатывать такие теги должным образом, но согласно Протокол Open Graph, мы должны использовать property, а не name:

<meta property="og:url" content="http://www.mywebaddress.com"/>

Использовать полные URL-адреса

Последняя рекомендация - указать полные URL-адреса. Например, Facebook жалуется, когда вы используете относительный URL-адрес в og:image. Поэтому используйте полный текст:

<meta property="og:image" content="http://www.mywebaddress.com/myimage.jpg"/>

Ответ 4

В случае, если это помогает кому-либо, у меня была такая же ошибка. Оказывается, моя страница не была пересмотрена Facebook через некоторое время, и это была старая ошибка. На странице, на которой была зафиксирована эта кнопка, снова была кнопка scrape.