我有一个拥有facebook分享按钮的sharepoint网页 但是在我分享网页后,图片没有显示在脸书中。
使用facebook工具'Open Graph Object Debugger',我收到以下错误
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" />
任何人都有任何想法?
答案 0 :(得分:1)
检查Facebook Crawler是否获取您的页面。底部有一个链接,可以查看Facebook刮刀从您的网站获取的内容。如果它是空的,很可能您的Web服务器响应不同或根本不响应Facebook。我有一个类似的问题。在我的情况下,刮刀通过HTTP获取页面,并且尽管有可信证书,但无法通过HTTPS(SSL)获取任何内容。
如果facebook没有得到你的服务器原因是:
此外,检查调试器中facebook提供的状态代码是否为200或206,问题肯定不在Open Graph本身。
如果是SSL问题并且你正在使用Letsencrypt这个SSL params让我的网站再次显示给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
答案 1 :(得分:0)
我有这个问题。我的解决方案是打电话给我的托管服务提供商(在我的情况下是Godaddy)并告诉他们在我的网站上重新启动PHP进程。
问题与缓存有关。您的服务器可能正在提供旧内容以试图节省时间。
然后我访问了https://developers.facebook.com/tools/debug/并点击了&#34;再次刮了&#34;按钮。