Facebook поделиться Изображение не отображается

У меня есть веб-страница Sharepoint, на которой есть кнопка «Поделиться в Facebook».
Однако после того, как я поделился веб-страницей, изображение не отображается в Facebook.

Используя инструмент facebook «Отладчик объектов Open Graph», я получил следующую ошибку

Errors That Must Be Fixed Missing Required Property The 'og:type' property is required, but not present.

При просмотре исходного кода веб-страницы я ясно вижу, что там есть необходимые метаданные facebook
<meta property="og:url" content="https%3a%2f%2fxxx.xx.xx/xx" /> <meta property="og:type" content="website" /> <meta property="og:title" content="xxx" /> <meta property="og:description" content="" /> <meta property="og:image" content="https://xxx.xx.xx/xxx.jpg" />

У кого-нибудь есть идеи?


person user6170574    schedule 07.04.2016    source источник


Ответы (2)


Проверьте, получает ли Facebook Crawler вашу страницу вообще. Внизу есть ссылка, которая позволяет посмотреть, что парсер Facebook получает с вашего сайта. Если он пуст, скорее всего, ваш веб-сервер по-другому отвечает или вообще не отвечает на Facebook. У меня похожая проблема. В моем случае скребок получает страницу по HTTP и ничего не получает по HTTPS (SSL), несмотря на доверенный сертификат.

Если facebook ничего не получает от вашего сервера, причины:

  • плохая конфигурация веб-сервера
  • Брандмауэр блокирует IP-адреса парсера facebook
  • проблема перенаправления

Кроме того, проверьте код состояния, который facebook предоставляет в отладчике, если он не 200 или 206, проблема определенно не в самом Open Graph.

В случае, если это проблема с SSL, и вы используете Letsencrypt, эти параметры SSL снова сделали мой сайт видимым для Facebook:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
#add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

Более подробную информацию можно найти здесь: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html

person Artyom Kovalyov    schedule 06.04.2017

У меня была эта проблема. Решение для меня состояло в том, чтобы позвонить моему хостинг-провайдеру (в моем случае Godaddy) и попросить его перезапустить процессы PHP на моем сайте.

Проблема связана с кэшированием. Ваш сервер может обслуживать старый контент в попытке сэкономить время.

Затем я посетил https://developers.facebook.com/tools/debug/ и щелкнул кнопка "стереть еще раз".

person Ned Hulton    schedule 23.05.2017