FB OpenGraph og: изображение не тянет изображения (возможно, https?) - PullRequest
284 голосов
/ 13 января 2012

Первый - я не считаю, что это повторяющаяся проблема.Я искал те же или похожие проблемы в SO, и из-за характера устранения неполадок, прежде чем спрашивать, я считаю, что эта проблема уникальна.

Facebook не может распознать мои og:image файлы, и я попробовал каждое обычное решение.Я начинаю думать, что это может иметь какое-то отношение к https://...

  • Я проверил http://developers.facebook.com/tools/debug и у меня ноль предупреждений или ошибок.
  • Он находитизображения, на которые мы ссылаемся в «og:image», но они отображаются пустыми.Когда мы щелкаем по изображениям, они, тем не менее, действительно существуют, и для этого требуется прямо.
  • Это показывает одно изображение - изображение, размещенное на сервере, не являющемся https.
  • Мы пробовали квадратные изображения, JPEG, PNG, большие размеры и меньшие размеры.Мы поместили изображения прямо в public_html.Появляется ноль.
  • Это не ошибка кэширования, потому что, когда мы добавляем еще один og:image в мету, линтер FB находит и читает это.Это показывает предварительный просмотр.Предварительный просмотр пуст.Исключение only , которое мы получаем, относится к изображениям, которых нет на этом веб-сайте.
  • Мы подумали, что, возможно, на cpanel или .htaccess было предотвращено какое-либо предотвращение выщелачиванияизображения появляются, поэтому мы проверили.Там не было.Мы даже сделали быстрый < img src="[remote file]" > на совершенно другом сервере, и изображение выглядит хорошо.
  • Мы подумали, что это может быть og:type или другая странность с другим метатегом.Мы удалили их все по одному и проверили.Без изменений.Просто предупреждения.
  • Тот же код на другом сайте появляется без каких-либо проблем.
  • Мы подумали, возможно это не было извлечение изображений, потому что мы используем одни и те же страницы продукта для нескольких продуктов (меняя его в зависимости от значения get, то есть "details.php"? id = xxx "), но он по-прежнему извлекает одно изображение (из другого URL-адреса).
  • Если оставить значение og:image или image_src выключенным, FB не найдет изображения.

Я в конце моей веревки.Если бы я сказал, сколько времени я и другие потратили на это, вы были бы шокированы.Проблема в том, что это интернет-магазин.Мы абсолютно, безусловно, не можем иметь изображения.Мы должны.У нас есть десять или около того других сайтов ... Это единственный с og:image проблемами.Он также единственный на https, поэтому мы подумали, что в этом проблема.Но мы не можем найти ни одного прецедента в Интернете для этого.

Это метатеги:

<meta property="og:title" content="[The product name]" /> 
<meta property="og:description" content="[the product description]" /> 
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-art-black.png" />
<meta property="og:image" content="http://www.[ADIFFERENTwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/ARShopHeader.png" />
<meta property="og:image" content="http://www.[ourwebsite].com/overdriven-blues-music-tshirt-art-black.JPG" />
<meta property="og:type" content="product"/>
<meta property="og:url" content="https://www.[ourwebsite].com/apparel-details.php?i=10047" />
<meta property="og:site_name" content="[our site name]" />      
<meta property="fb:admins" content="[FB-USER-ID-NUMBER]"/>
<meta name="title" content="[The product name]" />
<meta name="description" content="[The product description]" />
<link rel="image_src" href="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta name="keywords" content="[four typical keywords]">
<meta name="robots" content="noarchive">

Если вы хотите, вот ссылка на одну из наших страниц продукта, над которой мы работали.[Ссылка сокращена, чтобы попытаться обуздать это попадание в результаты поиска для нашего сайта]: http://rockn.ro/114

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

Используя скребковый инструмент «посмотри, что видит Facebook», мы былисмог увидеть следующее:

"image": [          
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-details-safari.png"
      },
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-art-safari.png"
      },
      {
         "url": "http://www.[theotherNONSECUREwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png"
      }
   ],

Мы проверили все найденные ссылки на одной странице.Все были совершенно правильными изображениями.

РЕДАКТИРОВАТЬ 2 ----

Мы провели тестирование и добавили субдомен на веб-сайт NONSECURE (с которого изображения фактически видны через Facebook).Субдомен был http://img.[nonsecuresite].com. Затем мы поместили все изображения в основную папку субдомена и сослались на них.Это не будет тянуть эти изображения в FB.Тем не менее, он по-прежнему будет тянуть все изображения, на которые есть ссылки в незащищенном главном домене.

POSTED WORKAROUND ----

Благодаря Keegan мы теперь знаем, что это ошибка в Facebook.Чтобы обойти это, мы разместили поддомен на другом веб-сайте NON-HTTPS и поместили на него все изображения.Мы ссылались на координирующее изображение http://img.otherdomain.com/[like-image.jpg] в og:image на каждой странице продукта.Затем нам пришлось пройти через FB Linter и запустить КАЖДУЮ ссылку, чтобы обновить данные OG.Это сработало, но решение - это обходной путь, и если проблема https будет устранена, и мы вернемся к использованию естественного домена https, FB будет кэшировать изображения с другого веб-сайта, что усложнит ситуацию.Надеемся, что эта информация поможет спасти кого-то еще от потери 32 часов кодирования их жизни.

Ответы [ 21 ]

1 голос
/ 01 мая 2018

Подобные симптомы (Facebook и др. Неправильно выбирают og: image и другие ресурсы через https) могут возникать, когда сертификат https сайта не полностью соответствует.

Сертификат https вашего сайта может показаться действительным (зеленый ключ в браузере и все), но он не будет корректно очищаться, если в нем отсутствует промежуточный или цепной сертификат. Это может привести к потере многих часов проверки и перепроверки всех различных кешей и мета-тегов.

Возможно, это не ваша проблема, но могут быть и другие с похожими симптомами (как у меня). Есть много способов проверить ваш сертификат - тот, который мне довелось использовать: https://www.sslshopper.com/ssl-checker.html

1 голос
/ 10 ноября 2017

В моем случае проблема заключалась в том, что не предоставили CA Root Certificate . Я понял это после использования: https://www.ssllabs.com/ssltest/analyze.html для анализа конфигурации SSL.

1 голос
/ 03 августа 2016

Я столкнулся с той же проблемой, а затем заметил, что у меня есть другой домен для og:url

Как только я убедился, что домен одинаков для og:url и og:image, он заработал.

Надеюсь, это поможет.

0 голосов
/ 04 марта 2019

У меня была похожая проблема сегодня, которую Sharing Debugger помог мне решить.Кажется, что Facebook (в настоящее время) не может понять изображения со встроенными метаданными XMP.Когда я заменил изображения в наших статьях на версии без метаданных XMP и заново очистил страницу (используя Sharing Debugger), проблема исчезла.Шестнадцатеричный редактор поможет вам увидеть, содержит ли ваше изображение метаданные XMP.

0 голосов
/ 29 января 2018

Для меня это сработало:

<meta property="og:url" content="http://yoursiteurl" />
    <meta property="og:image" content="link_to_first_image_if_you_want" />
    <meta property="og:image" content="link_to_second_image_if_you_want" />
    <meta property="og:image:type" content="image/jpeg" /> 
    <meta property="og:image:width" content="400" /> 
    <meta property="og:image:height" content="300" />
    <meta property="og:title" content="your title" />
    <meta property="og:description"  content="your text about homepage"/> 
0 голосов
/ 01 апреля 2013

После нескольких часов испытаний и попыток ...

Я решил эту проблему максимально просто. Я заметил, что они используют «тестовые страницы» на странице разработчиков Facebook, которая содержит только теги «og» и некоторый текст в теге body, который ссылается на теги og.

Так, что я сделал?

Я создал второе представление в своем приложении, содержащее те же самые вещи, которые они используют.

А откуда я знаю, что Facebook открывает мою страницу, чтобы я мог изменить вид? У них есть уникальный пользовательский агент: "facebookexternalhit / 1.1"

0 голосов
/ 14 сентября 2013

Кроме того, эта проблема также возникает, когда вы добавляете сгенерированную пользователем историю (где вы не используете og: image). Например:

POST /me/cookbook:eat?
  recipe=http://www.example.com/recipes/pizza/&
  image[0][url]=http://www.example.com/recipes/pizza/pizza.jpg&
  image[0][user_generated]=true&
  access_token=VALID_ACCESS_TOKEN

Вышеуказанное будет работать только с http, а не с https. Если вы используете https, вы получите сообщение об ошибке: Прикрепленное изображение () не удалось загрузить

0 голосов
/ 07 сентября 2016

Из того, что я заметил, я вижу, что когда ваш сайт общедоступен и хотя URL-адрес изображения https, он просто отлично работает.

0 голосов
/ 21 марта 2019

Я взял http:// из моего og:image и заменил его просто старым www., после чего он начал работать нормально.

Вы можете использовать этот инструмент от Facebook , чтобы сбросить кэш очистки изображения и проверить, какой URL он использует для демонстрационного изображения.

0 голосов
/ 16 апреля 2019

Как только вы обновите метатег, убедитесь, что ссылка на контент (изображение) является абсолютным путем, и перейдите здесь https://developers.facebook.com/tools/debug/sharing, введите ссылку на ваш сайт и нажмите scrape again на следующей странице

...